01 2015 档案

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2896思路:建立字典树时,把字符串单词节点信息改为id就可以,然后计算失配函数,再查找哪一个上面的病毒字符串在下面的网站信息中出现,AC自动机。 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2015-01-31 10:54 null1019 阅读(161) 评论(0) 推荐(0)
摘要:题意:上面的字符串在下面的文章中有多少个单词出现过。思路:AC自动机 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 char str[1000010]; 8 int t,n; ... 阅读全文
posted @ 2015-01-31 08:58 null1019 阅读(157) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/399/D题意:给出n和m,表示在一个n*n的平面上有n*n个方格,其中有m块已经涂色。现在随机选中一块进行涂色(如果已经涂色跳过,也消耗时间),消耗1个步骤。终止条件为每行每列都有至少有一块瓷砖被涂色。问说涂成满意的... 阅读全文
posted @ 2015-01-29 20:39 null1019 阅读(255) 评论(0) 推荐(0)
摘要:思路:把字符串转化为一个二进制,遇到B就是一个数二进制中的1,答案就是这个数。 1 #include 2 #include 3 #include 4 #define ll __int64 5 using namespace std; 6 7 int n; 8 char str[100]; 9... 阅读全文
posted @ 2015-01-29 11:15 null1019 阅读(188) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/397/D题意:v(n) 表示小于等于n的最大素数,u(n)表示比n的大的第一个素数,然后求出;思路:把分数拆分成两个分数相减,你就会发现规律,等于1/2-1/3+1/3-1/5.。。。。。。。,找出v(n)和u(n)... 阅读全文
posted @ 2015-01-29 10:01 null1019 阅读(212) 评论(0) 推荐(0)
摘要:题意:给你n个数,然后把这个n个数的乘积化成n个数相乘,可以化成多少个。思路:分解质因数,求出每一个质因子的个数,然后用组合数学中隔板法把这些质因子分成n分,答案就是所有质因子划分成n份的情况的乘积。 1 #include 2 #include 3 #include 4 #include 5... 阅读全文
posted @ 2015-01-28 21:37 null1019 阅读(148) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/394/problem/D题意:给你n个数,然后通过操作使得这n个数变为一个等差数列,操作是可以经过小于等于k次加1或减去1,要使得k尽量小。思路:通过枚举公差d,然后通过每一个减去相应的个数的d,找到首项,每一个都可以得到一个首项,在这些... 阅读全文
posted @ 2015-01-27 21:03 null1019 阅读(254) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/394/problem/C题意:有n*m个骨牌,每个骨牌上有四种样式(“01,10,11,00”),让你重新排列成一个N*M的矩阵,使2*m列的每一列和的最大值最小。思路:先排序,先正着排全是‘11’的牌,如果在一行,没有排满,用剩下的牌补... 阅读全文
posted @ 2015-01-27 10:13 null1019 阅读(196) 评论(0) 推荐(0)
摘要:题意:给你两个数p和x,然后让你找出一个长度为p的数,把它的最后移到最前面之后得到的数是原来数字的x倍,有很多这样的数取最小。思路:枚举最后一位,然后就可以推出整个的一个数,然后比较得到的数的第一个数字和枚举的数字是否相等既可以。 1 #include 2 #include 3 #include... 阅读全文
posted @ 2015-01-26 21:25 null1019 阅读(173) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 6 int g[200][200]; 7 int n; 8 9 int main()10 {11 while(scanf("%d",&n)!=EOF)12 ... 阅读全文
posted @ 2015-01-26 19:09 null1019 阅读(117) 评论(0) 推荐(0)
摘要:题意:给你一个长度为n的只含有1和0的字符串,w个询问,每次询问输入l,r;在[l,r]中在l+k-1、l+2*k-1、......r的位置都必须为1,如果不为1的,变成1,记为一次操作,其它的地方的都必须为0,不为0的地方要变成1,也记为一次操作,最后问在区间[l,r]最少几次操作。思路:可以用树... 阅读全文
posted @ 2015-01-26 17:18 null1019 阅读(138) 评论(0) 推荐(0)
摘要:题意:输入n,然后输入n个数ai,再输入n个数bi,如果在1-ai中能找到两个数x,y,x和y可以相等,如果x+y=bi,答案加上x*y,否则减去1,让结果尽可能大,输出结果。 1 #include 2 #include 3 #include 4 #define ll long long 5 ... 阅读全文
posted @ 2015-01-25 21:04 null1019 阅读(115) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/389/problem/E题意:给你n个序列,然后两个人x,y,两个人玩游戏,x从序列的前面取,y从序列的后面取,两个人都想自己得到的数的和尽可能大,最后输出两个人得到的数的和。思路:如果序列的个数为偶数的话,前面一半为x所得,后面一半为y... 阅读全文
posted @ 2015-01-25 19:59 null1019 阅读(152) 评论(0) 推荐(0)
摘要:题意:输入一个n,然后输入n个数,问你可以划分多少个序列,序列为:其中一个数为c,在它的前面最多可以有c个数。思路:先排序,然后对于每一个数逐步的找没有被用过的数,且这个数可以符合条件,然后如果没有找到,结果加1;最后就是答案。 1 #include 2 #include 3 #include ... 阅读全文
posted @ 2015-01-25 15:46 null1019 阅读(172) 评论(0) 推荐(0)
摘要:题意:给你一个只有‘.’和'#'的n*n的格子,问所有的'#'是不是只属于一个十字叉,如果不是输出NO,否则输出YES。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int n; 7 char g[200][200]... 阅读全文
posted @ 2015-01-25 14:02 null1019 阅读(122) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/387/problem/E题意:给你n个数,然后在输入k个数,这k个数都在n个数中出现,进行每一次操作就是在n个数中选择长度为w的连续序列,然后删除这w个数中的最小的一个,然后你就会的到w个奖励,如何获得最多奖励?思路:set+数状数组,数... 阅读全文
posted @ 2015-01-25 13:12 null1019 阅读(186) 评论(0) 推荐(0)
摘要:题意:给你一个有趣图的定义:在这个图中有一个根,根与每个点都有边和回边,除了根之外,其他的点的出度和入度都为2,然后给你一个图让你经过几步操作可以使此图变为有趣图,操作为:删边或者加边。思路:枚举根,然后删除与根有关的边,重新建图,用二分图求最大匹配,可以用匈牙利算法,加的边数:满足题中有关根的加边... 阅读全文
posted @ 2015-01-23 18:30 null1019 阅读(222) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/387/C题意:给你一个大数,让你求个集合,可以通过操作得到这个数,求集合中个数最大值,操作 :从集合中任意取两个数,大的数放在前面小的数放在后面组成一个数在重新放入集合中,经过重复的操作,集合中只剩一个数,这个数就是... 阅读全文
posted @ 2015-01-23 10:03 null1019 阅读(151) 评论(0) 推荐(0)
摘要:题意:输入n,m,下一行为n个数a1 2 #include 3 #include 4 using namespace std; 5 6 int n,m; 7 int a[3010],b[3010]; 8 int vis[3010000]; 9 bool vis1[3000100];10 11 ... 阅读全文
posted @ 2015-01-22 19:27 null1019 阅读(159) 评论(0) 推荐(0)
摘要:题意:有n个灯,每个灯有一个照亮的角度,现在从点(l,0)走到点(r,0),问这个人若一直被灯照着能最多走多远?思路;状压dp,然后通过向量旋转求出点(dp[i[,0)与灯的坐标(p[j].x,p[j].y)形成的向量然后旋转角度p[j].a,得到旋转之后的在x坐标轴上的点,然后与dp[i|(1 2... 阅读全文
posted @ 2015-01-22 17:36 null1019 阅读(143) 评论(0) 推荐(0)
摘要:题意:给你一个n,输入n个数,然后输入m,接下来有m个询问,每一个询问为[l,r],然后输出在区间内[l,r]内f(p)的和,p为[l,r]的素数,f(p)的含义为在n个数中是p的倍数的个数。思路:先打出10000000内的素数,然后统计每一个素数在n个数中的倍数的个数记录在num[i]中,在每次询... 阅读全文
posted @ 2015-01-22 13:58 null1019 阅读(199) 评论(0) 推荐(0)
摘要:题意:给你一个字符串,然后找多少区间内含有“bear”,输出数目; 1 #include 2 #include 3 #include 4 using namespace std; 5 6 char str[5001]; 7 int pos[50001]; 8 9 int main()10 ... 阅读全文
posted @ 2015-01-22 09:33 null1019 阅读(136) 评论(0) 推荐(0)
摘要:题意:输入n,然后输入n个数,在n个数中0或1,0代表这头牛向左看,1代表这头牛向右看,问最后最少损失多少牛奶。思路;贪心,连着的0可以不损失,一旦插入1就会损失牛奶。 1 #include 2 #include 3 #include 4 #define ll __int64 5 using ... 阅读全文
posted @ 2015-01-22 08:38 null1019 阅读(151) 评论(0) 推荐(0)
摘要:题意:如果K个相邻素数p1,p2,p3.....pk满足pk-p1=s,称这些素数组成一个距离为s的素数K元组,输入a,b,k,s,输出区间[a,b]内距离为s的素数k元组的个数。思路:先打到50000素数表,然后暴力求出a,b区间的素数,然后判断。 1 #include 2 #include ... 阅读全文
posted @ 2015-01-21 16:13 null1019 阅读(338) 评论(0) 推荐(0)
摘要:题意:给你正整数n和k,然后计算从i到n k%i的和;思路;如果n小于1000000,直接暴力计算,然后大于1000000的情况,然后在讨论n和k的大小,根据k%i的情况,你会发现规律,是多个等差数列,然后你把这些等差数列加上就是答案。 1 #include 2 #include 3 #incl... 阅读全文
posted @ 2015-01-21 14:30 null1019 阅读(256) 评论(0) 推荐(0)
摘要:http://codeforces.com/contest/382/problem/B题意:给你Aa,b,w,x,c,然后每经过1秒,c=c-1; 如果b>=x,b=b-x;否则 a=a-1,b=w-(x-b); 问经过多少秒c 2 #include 3 #include 4 #define l... 阅读全文
posted @ 2015-01-21 09:26 null1019 阅读(196) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5072题意:给出 n 个互不相同的数,求满足以下条件的三元无序组的个数:要么两两互质要么两两不互质。思路:根据同色三角形原理求,白书105页。求它不符合条件的情况数,先对每一个数分解质因子,然后利用容斥求出与这个数... 阅读全文
posted @ 2015-01-20 09:33 null1019 阅读(221) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5120题意:求两个圆环的相交面积。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int t; 8 doub... 阅读全文
posted @ 2015-01-19 13:49 null1019 阅读(121) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5074题意:给你一个的矩阵score[i][j],然后给你一个数列,数列中有一些是-1,代表这个数可以换成1~m的任意一个数,然后求的最大值。思路:二维dp,dp[i][j]代表i位置的数为j的最大和。 通过前面求... 阅读全文
posted @ 2015-01-19 11:26 null1019 阅读(136) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5113题意:给你n*m的格子,然后在每个格子内涂色,相邻格子不能同色,然后给你每个颜色涂的格子的固定个数,然后可不可以实现,可以实现输出任意一种,否则输出NO思路:dfs枚举,剪纸,每种颜色剩余的个数不能超过剩余格... 阅读全文
posted @ 2015-01-18 18:09 null1019 阅读(273) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5112 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int t; 7 int n; 8 struct node 9 {10 ... 阅读全文
posted @ 2015-01-16 21:08 null1019 阅读(150) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5119题意:有n个数,然后从中挑选任意多的数进行异或,问异或出的值大于等于M的方案数多少?思路:转移方程f[i][j]=f[i-1][j]+f[i-1][j^a[i]]. 可以枚举这个值,对每个状态,来源有两个——... 阅读全文
posted @ 2015-01-16 20:34 null1019 阅读(224) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5128题意:给定N个点,选出其中8个点组成两个矩形,使得两个矩形的面积和最大。思路:找出所有的矩形,然后枚举,挑选求中的两个矩形,判断位置关系,符合条件求出他们的和最大值。坑点:可以内含,内含的时候计算外面的矩形的... 阅读全文
posted @ 2015-01-16 19:23 null1019 阅读(251) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5131题意:按照所杀的敌人排名,所杀敌人相等的时候字典序小的排名在上,然后M个询问。 1 #include 2 #include 3 #include 4 #include 5 #include 6 us... 阅读全文
posted @ 2015-01-16 10:13 null1019 阅读(152) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5135题意:给你N个木棍的长度,然后让你组成三角形,问你组成的三角形的和最大是多少?思路:先求出可以组成的所有的三角形,然后状压dp就可以。求所有的三角形也可以用状压,也可以三重循环求。 1 #include 2... 阅读全文
posted @ 2015-01-16 08:51 null1019 阅读(201) 评论(0) 推荐(0)
摘要:题意:给你N个点和m条边的无向图,然后让你求出依次删除2-n-1号的点之后的到达N点最短路的最大值,如果删除某个点之后,不能到达N点,就输出Inf,。思路:枚举删除的点,然后SPFA就可以求最短路,然后求出最大值就可以。 1 #include 2 #include 3 #include 4 #... 阅读全文
posted @ 2015-01-15 18:12 null1019 阅读(166) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5122题意:就是经过几个回合可以使得序列变成有序的,求回合数。思路:数状数组。倒着插入,每次求和,判断在这个数前面是不是有数,只要有数就ans++;最后插入完,ans就是答案。 1 #include 2 #inc... 阅读全文
posted @ 2015-01-15 14:20 null1019 阅读(161) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5108找出最大质因子就可以。 1 #include 2 #include 3 #include 4 #define ll long long 5 #define N 100000 6 using namesp... 阅读全文
posted @ 2015-01-14 20:22 null1019 阅读(170) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5139思路:这道题要先找规律,f(n)=n!*(n-1)!*(n-2)!.....1!; 不能直接打表,而是离线处理,一次性处理出来。 1 #include 2 #include 3 #include 4 #... 阅读全文
posted @ 2015-01-14 19:02 null1019 阅读(142) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5154思路:有向图判断有没有环,可以用floyd。。 1 #include 2 #include 3 #include 4 using namespace std; 5 const int inf=1<<20... 阅读全文
posted @ 2015-01-03 21:43 null1019 阅读(201) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5144题意:给你初始的高度和速度,然后让你求出水平的最远距离。思路:三分枚举角度,然后根据公式求出水平距离。 1 #include 2 #include 3 #include 4 #include 5 us... 阅读全文
posted @ 2015-01-02 21:16 null1019 阅读(420) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5147题意:问有多少个这样的四元组(a,b,c,d),满足条件是 1 2 #include 3 #include 4 #define maxn 50001 5 #define ll long long 6 us... 阅读全文
posted @ 2015-01-02 19:29 null1019 阅读(165) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5146题意:判断这个序列是不是好的,好的要求是在奇数坐标上的数的和等于在偶数坐标上的数的和且这个序列不是回文序列。 1 #include 2 #include 3 #include 4 #define max... 阅读全文
posted @ 2015-01-01 17:53 null1019 阅读(177) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5151题意:一共有N个椅子,然后有N个学生依次去坐,满足下面三个条件不能坐上去,1:这个椅子旁边有左椅子也有右椅子,2:椅子旁边都有人坐了,3:椅子旁边的椅子颜色不一样。问如果所有人都坐上去有多少情况。dp[i][... 阅读全文
posted @ 2015-01-01 17:42 null1019 阅读(186) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5151直接判断是不是素数,然后再注意1就行。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int n; 7 int a[1001]... 阅读全文
posted @ 2015-01-01 16:43 null1019 阅读(166) 评论(0) 推荐(0)