码迷,mamicode.com
首页 >  
搜索关键字:前缀和    ( 2330个结果
51nod 1103 N的倍数 思路:抽屉原理+前缀和
题目: 这是一道很神奇的题目,做法非常巧妙。巧妙在题目要求n个数字,而且正好要求和为n的倍数。 思路:用sum[i]表示前i个数字的和%n。得到sum[ 1-N ]共N个数字。 N个数字对N取模,每个数字都在0-( N-1 )之间。 可能出现两种情况 1:有一个数字等于0。(都不相等) 2:至少有两 ...
分类:其他好文   时间:2017-08-23 10:15:22    阅读次数:128
bzoj 4866: [Ynoi2017]由乃的商场之旅
设第i个字母的权值为1<<i,则一个可重集合可以重排为回文串,当且仅当这个集合的异或和x满足x==x&-x,用莫队维护区间内有多少对异或前缀和,异或后满足x==x&-x,这样端点移动的代价为字符集大小+1=27,因此时间复杂度为$O(27n\sqrt{m})$ ...
分类:其他好文   时间:2017-08-23 10:15:11    阅读次数:130
【bzoj4972】小Q的方格纸 前缀和
题目描述 方格纸与草稿纸一样,都是算法竞赛中不可或缺的重要工具。身经百战的小Q自然也会随身带着方格纸。小Q的方格纸有n行m列,一共n*m个方格,从上到下依次标记为第1,2,...,n行,从左到右依次标记为第1,2,...,m列,方便起见,小Q称第i行第j列的方格为(i,j)。小Q在方格纸中填满了数字 ...
分类:其他好文   时间:2017-08-22 20:56:21    阅读次数:204
51nod 1393 0和1相等串 思路 : map存前缀和
题目: 思路:把'0'当成数字-1,'1'当成数字1,求前缀和,用map更新当前前缀和最早出现的位置。(用map而不用数组是因为可能会出现负数) 当前缀和的值之前出现过,比如i = 10时,sum = 0;j = 50时,sum = 0; 更新ans = max(ans,j-i); 代码: ...
分类:其他好文   时间:2017-08-22 20:50:24    阅读次数:118
LibreOJ #6220. sum(数论)
题目大意:在数组中找出一些数,使它们的和能被n整除 这题标签是数学,那我就标题就写数论好了... 显然如果数组中有n的倍数直接取就行。 那假设数组中没有n的倍数,把数组中的数求前缀和后全部%n,会得到一堆1~n-1的数(注意没有0,因为数组中没有n的倍数),那根据抽屉原理一定有两个相同的数,设这两个 ...
分类:其他好文   时间:2017-08-22 00:40:44    阅读次数:171
字符串匹配算法-kmp算法
一原理: 部分转自:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDAB ...
分类:编程语言   时间:2017-08-21 15:43:27    阅读次数:187
51nod 1682 中位数计数(前缀和)
51nod 1682 中位数计数 思路: sum[i]表示到i为止的前缀和(比a[i]小的记为-1,相等的记为0,比a[i]大的记为1,然后求这些-1,0,1的前缀和); hash[sum[i]+N](由于sum[i]会小于0,所以要加N)记录在j<i的情况下sum[i]是否出现过,如果在j>=i的 ...
分类:其他好文   时间:2017-08-21 12:40:14    阅读次数:139
E. XOR and Favorite Number
题意:很多询问,求每个询问下,有多少个区间,异或=k。 分析:异或也有前缀和。[L,R] = pre[R] ^ pre[L-1]; 莫队算法:是莫涛队长发明的,一种改良版的暴力离线算法。 首先将问题重新排序,有生成树的,有简单版的分块,然后通过一个区间去递推另个一区间的值。 这里需要记录一下flag ...
分类:其他好文   时间:2017-08-21 09:54:34    阅读次数:309
SPOJ CRAN02 - Roommate Agreement
题目链接:http://www.spoj.com/problems/CRAN02/ 题目大意:N个数字组成的序列,和为0的连续子序列的个数。N<1e6 解题思路:计算前缀和,统计每个数字出现的次数,那么对于数字sum[i], 如果存在k个sum[i],则代表有C(k, 2)个序列和为0,而如果sum ...
分类:其他好文   时间:2017-08-19 23:43:26    阅读次数:180
2017多校第8场 HDU 6134 Battlestation Operational 莫比乌斯反演
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134 题意: 解法: 那么g(n)怎么求,我们尝试打表发现g(n)是有规律的,g(n)=g(n-1)+d(n-1)+1,其中d(i)表示i的因子个数,这个我们是可以通过线性筛O(n)处理出来的,之后再O ...
分类:其他好文   时间:2017-08-19 12:52:08    阅读次数:131
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!