随笔分类 - CDOJ
摘要:裸的状压的话,很显然……但有一个强大的优化。 就是在枚举决策的时候,固定第一个空位置。可以证明,这样状态数没有减少,但是降低了很多重复访问。 因为你在枚举的时候,总是可以划分为包含第一个空位置的3个位置;以及不包含第一个空位置的三个位置。这样固定先枚举前者,避免了重复。 还有一个优化是,没必要每次判
阅读全文
摘要:题意: 给你一个全为0的01串,问你能否通过一系列的变换,得到全为1的01串。 分析: 将每个01串看作一个点,每一个变换可以看作是一条有向边,现在问题可以转化 为找从“00..0”这个点到“11..1”这个点的最短路,那么可以使用spfa来解决这个问题。 对于每个CFT,建一条有向边,从si指向t
阅读全文
摘要:求一个有n个元素的数列,满足任意连续p个数的和不小于s, 任意连续q个数的和不大于t。 令sum[i]表示前i项的和(0<=i<=n,sum[0]=0) 那么题目的条件可转化为: sum[i]-sum[i-p]>=s (p<=i<=n) sum[i]-sum[i-q]<=t (q<=i<=n) 将第
阅读全文
摘要:题意: 构造一个01串,使得满足以下条件: 1. 环状(即首尾相连) 2. 每一位取值为0或1 3. 长度是2^n 4. 对于每个(2^n个)位置,从其开始沿逆时针方向的连续的n位01串(包括自己) 构成的数均不相同,即0到2^n−1中的数各出现一次 数据范围: 1<=n<=15 欧拉回路 考虑用一
阅读全文
摘要:题意: 在n个点m条边的有向图上,从1出发的回路最多经过多少个不同的点 可以在一条边上逆行一次 题解: 在同一个强连通分量中,显然可以经过当中的每一个点 因此先将强连通分量缩点,点权为强连通分量的点数 如果不逆行,那么答案就是1所在的强连通分量的点数 如果逆行了,那么逆行的边必然在缩点后的拓扑图上
阅读全文
摘要:题意: 在n个点m条边的无向图上,有k个出口 从起点出发,每到一个点(包括起点),该点连出的边中有d条会被封锁 求最坏情况下到达出口的最短路 题解: 该题为dijkstra算法的拓展 由于求最坏情况下的最短路,对于每个点,显然最优的前d条边不能走 对于边u->v,必然要先得到v到出口的最坏情况下的最
阅读全文
摘要:题意: 给定n个点(点权未知)和m条信息:u的权值>=v的权值+w 求点权的极小解和极大解(无解则输出-1) 极小解即每个点的点权可能的最小值 极大解即每个点的点权可能的最大值 题解: 差分约束系统 对于val[u]>=val[v]+w 要得到极小解,v是没有受限制的,其最小值为0 而u受到v的限制
阅读全文
摘要:对于两个相邻的字符串 Si和Si+1 ,如果它们的前k-1位都相同,第k位不相同,那么,在字典序中 Si,k一定在 Si+1,k前面 建立有向边从 Si,k到 Si+1,k,进行拓扑排序 为了保证字典序最小,需要用堆维护拓扑过程。 技巧是讲空白也放到字典序里,一起拓扑。并且空白的字典序如果不是最小的
阅读全文
摘要:Fleury算法看这里 http://hihocoder.com/problemset/problem/1181 把每个点看成边,每个横纵坐标看成一个点,得到一个无向图. 如果新图中每个点的度都是偶数,那么就是一个欧拉图,对该图跑一遍欧拉回路,对走过的边轮流染色,就可以保证每个点所连的边的红蓝颜色相
阅读全文
摘要:对于S集合中的数,例如a1,考虑到如果x能够被表示出来,那么x+a1也一定能被表示出来 设d[r]为所有模a1余r的数中,能被表示出来的最小的数 用d[x]+ai去更新d[(x+ai)%a1],跑最短路即可 不用真的建出图来,因为图是完全的。否则会MLE。
阅读全文
摘要:首先,考虑到,我们需要找到一条路径,使它的最小边尽量大,最大边尽量小 然后,考虑到m比较小,我们可以去寻找一个m^2或者m^2logm的算法 考虑枚举最小边,那么我们就需要在m或者mlogm的时间内找到尽量小的最大边 回忆最小生成树的kruskal算法,并查集+贪心加边 应用到此题,从枚举的最小边贪
阅读全文
摘要:先把公比为1,即前项 中项 末项相同的统计出来。对每一类数C(n,3)即可。 然后我们发现,因为a1*a3=(a2)^2,所以a1和a3进行质因子分解之后,每一个质因子的指数的奇偶性必然相同,否则无法满足乘积为完全平方数。 然后sqrt(100000)以内的素数只有65个,我们对于每一个数,用uns
阅读全文
摘要:统计路径的时候,显然用母函数的思想,可以用FFT来方便统计。 注意!要减去路径两个端点相同的情况!然后再除以二!这样防止重复。 还有就是说啊,点分治的正确姿势还是应该用所有子树的答案减去各个子树分别的答案。否则复杂度好像是不太对哈。 除非……有一种情况是这样的……才能让每次直接统计当前子树和之前所有
阅读全文
摘要:可以发现,对于原串的每个长度>1的子串而言,将其除了最后一个字符之外反向接在其结尾,都是一个合法解。该解的长度一定是奇数。 对于原串的每个长度>2,且结尾两个字符相同的子串而言,将其除了最后两个字符之外反向接在其结尾,都是一个合法解。该解的长度一定是偶数。 于是在SAM上统计一下就可以了……非常容易
阅读全文
摘要:kd-tree模板题,对红点建立kd-tree,用每个蓝点查询,更新最小值即可。
阅读全文
摘要:众所周知zhu是一个大厨,zhu一直有自己独特的咸鱼制作技巧. tang是一个咸鱼供应商,他告诉zhu在他那里面有NN条咸鱼(标号从1到N)可以被用来制作. 每条咸鱼都有一个咸鱼值KiKi,初始时所有KiKi都是00. zhu是一个特别的人,他有MM个咸数(咸鱼数字), 对于每个咸数xx,他都会让所
阅读全文

浙公网安备 33010602011771号
