已补
DS_HY
这个作者很懒,什么都没留下…
展开
-
病毒侵袭 HDU - 2896(AC自动机,ME中,,,,)(问题解决)
问题已经得到解决,ME的原因是memset(ch),如果memset时只memset(ch[0])则不会ME。 不知道为什么一直ME,,,其实我觉得我的板子还挺好的把,,,改了很久了我都把我开的数组放别人ac代码里面都不对,,,,# include<iostream># include<cstdio># include<que...原创 2018-07-21 12:16:01 · 252 阅读 · 0 评论 -
HDU - 1796 How many integers can you find (容斥)
题目链接点击打开链接 Now you get a number N, and a M-integers set, you should find out how many integers which are small than N, that they can divided exactly by any integers in the set. For example, N=原创 2017-07-18 21:22:02 · 169 阅读 · 0 评论 -
HDU - 3746 (kmp)(重点在于string 作为局部变量是错的)
用kmp的next数组求出最小重复 子串的长度然后末尾缺少长度数的即是答案一开始我还是不太会kmp,但是看了题解之后敲出了wa了,wa的我一脸懵逼,无奈跟明明是但是有个很玄学的问题,string作为局部变量是错的,但是全局就是对的,神奇,难受,不懂为啥Wa#include #include#include#includeusing namespac原创 2017-07-22 14:23:18 · 190 阅读 · 0 评论 -
CodeForces - 710E (简单dp)
注意long long 题目意思是用a去凑一个长度为n的串通过加减 ‘a’ ,或者double当前字符串当前——i 为奇数我以为是规律题,原 来是dp 但是规律跟dp是有相通之处的,通过这个题目,之前一直对dp没有任何感觉,突然之间找到了一种感觉,继续这两天练一练dp不能再一直做水题了#include #include#include#原创 2017-07-09 11:31:58 · 196 阅读 · 0 评论 -
HDU - 4055 (dp)
jThe signature of a permutation is a string that is computed as follows: for each pair of consecutive elements of the permutation, write down the letter 'I' (increasing) if the second element is great原创 2017-07-09 11:25:13 · 195 阅读 · 0 评论 -
HDU - 1010(dfs +奇偶剪枝)
xdd点击打开链接(si,ji)、(h,w)分别为起点终点坐标。我们可使用的两种剪枝方案是:如果所给的时间(步数) t 小于最短步数path,那么一定走不到。若满足t>path。但是如果能在恰好 t 步的时候,走到出口处。那么(t-path)必须是二的倍数。关于第二种方案的解释:这种方案学名为“奇偶剪枝”。我们已知了最短的步数就是直角三角形的两条直角边,实际上的路径却不原创 2017-07-08 23:01:46 · 237 阅读 · 0 评论 -
尺取法
poj3320 3061#include #include#include#include#include#includeusing namespace std;const int maxn=1000000+5;int n,l;int num[maxn];int S;int solve(){ int t=0,s=0; int res=0;原创 2017-06-27 22:15:05 · 164 阅读 · 0 评论 -
F - Garland CodeForces - 767C(dfs)
题目点击打开链接记得别用G++超时的一个鬼这个题 用一个vector来存储树,找到之后就将当前的t【u】清零,之后便再不用走过这个路径#include #include#include#include#includeusing namespace std;const int maxn=1000000+5;int t[maxn];vector g[m原创 2017-06-25 18:28:24 · 217 阅读 · 0 评论 -
HDU - 2102(bfs)
这个题目题意有问题。按道理说在T时刻到达,奇偶剪枝后的情况是符合的,,,,突然想到,他似乎是可以停的;莫不是因为这。。。。用的dfs超时了,然后剪枝之后就wa了不过最大的wa点在于,#之后的传送,cnt应该也是+1的,因为他是 从前一步挪过来的;而我一直没有加1就是错在了这里;有一个注意点就是# 和# 之间的传送,出现这种情况是错误的原创 2017-07-12 17:48:59 · 354 阅读 · 0 评论 -
charge-station HDU - 4435 (dfs+贪心)
题目‘点击打开链接’是一个修加油站的题目;要求能够能够到达每个城市,并且能够回到初始点,车走路的耗油距离是有限的 ,必须在油用完之前加油,如果不能到就输出-1,否则输出建加油站的钱(以二进制形式输出),i处建站,用钱2的i-1次方;(求最小建站花费)所以规律,ok【i】数组,如果建站就输出1,不建就输出0;(倒叙输出,因为是从大到小)当时并没有任何思路;看了看题解思原创 2017-07-11 15:02:14 · 231 阅读 · 0 评论 -
B - Leading and Trailing LightOJ - 1282(数学加快速幂)
简直是可怕,这个题,居然是用double。。简直是神操作,是我太思维僵化了;居然想着只取前四位然后乘,寻找循环规律;题目网址点击打开链接对于前三位abc的求法,让我直接饮用大佬的解析后三位直接用快数幂取余可以求出前三位我们可以将n^k转化成a.bc * 10^m,这样abc就是前三位了,n^k = a.bc * 10^m即lg(n^k) = lg(a.bc *原创 2017-07-22 22:57:14 · 212 阅读 · 0 评论 -
UVA - 1625(dp+预处理)
题目网址点击打开链接dp题目 Sample Input 2AAABBCYABBBCDEEYGBBYYRRGBSample Output1012dp[i][j] i和j表示上下两个串已经处理了多少个 ,i表示第一个串,j表示第二个每次拿去 i,j dp[i][j]=min(dp[i][j-1],d原创 2017-07-25 09:36:46 · 228 阅读 · 0 评论 -
被oj之神奇针对
1, wa = 数组开小了,(多校某题)2, TE = 数组开小了3 .TE 没有 const int mod 4.HDU2896,ME? memset了ch的整个数组5, WA 爆long long,用java大数6.int 先变成long long再计算,强转会错,double特别注意,先转好再用。7. double 转成int 时要加0.1或者0.001 ...原创 2018-08-14 21:36:49 · 164 阅读 · 1 评论 -
HDU - 6031 (lca) (暴力剪枝 或者 二分)
Innumerable Ancestors HDU - 6031 ...原创 2018-05-17 21:18:05 · 226 阅读 · 0 评论 -
Frogs HDU - 5514 (容斥+gcd)(注意容斥操作)
FrogsHDU - 5514;题意有一堆青蛙,一开始都在0点,然后有一堆圈成一圈的石子,石子的编号是从0-m-1的然后青蛙只能顺时针跳,每个青蛙可以一次跳a[i]格,然后所有青蛙都这样一直跳下去然后问你,这些青蛙踩过的石子的编号和是多少?思路规律发现,对于第i只青蛙,他跳过的格子,一定是m中gcd(a[i],m)的倍数,后来我们觉得是容斥寻原创 2017-10-15 20:41:01 · 244 阅读 · 0 评论 -
sat算法
题目链接点击打开链接2—sat算法对于任意两个点之间,每个点有两个状态,每两个点的状态是两个可以只取其一,是非否否的问题;引用博客点击打开链接板子是lrj上的p324代码:#include #include#include#include#include#includeusing namespace std;const int转载 2017-09-23 20:39:34 · 5277 阅读 · 0 评论 -
UVALive - 7018 Dragons
题目网址点击打开链接开始以为只需要选择最大Ni然后根据SI与Ni关系更新寻找到Ni比答案也小就好了,原来的思路写wa了,唉,,,但是可以进一步写一下;对于每个城市团,转移时间可以忽略不计,但是注意每一个团必须要派兵;对于派兵杀龙发现,只要总兵数大于龙头增长数,一定可以杀死,只是时间问题;所以,按增长排序大小以后,每个龙,可以派他原来的头数去直接杀死他,也可以只要比他增长原创 2017-08-24 19:42:17 · 301 阅读 · 0 评论 -
HDU - 4081(次小生成树)
题目网址:点击打开链接这个wa了一天的题,,,总算是知道错哪了;这个题目的要求是找两点之间建立一条边,然后这两个点的人口数为A,B为除去这两个点之间的距离,所有点相连通的其他路的总长;因而转化为一个次小生成树的问题,先生成一个最小生成树,然后开始删边,删一条边之后会发现,分成的两个集合中任意两个点相连,所有的点就又是相互连通的了;这个题目由于A/B的值未知,所以每两个点都需要考虑进原创 2017-07-27 22:05:32 · 332 阅读 · 0 评论 -
11149 Power of Matrix(矩阵快速幂)
题目网址点击打开链接矩阵快速幂 加一个公式;n为偶数时F(n)=F(n/2)*(E+A^(n/2))n为奇数是要再加A^n;原理的话展开证明省略;比如(E+A)*A=A+A^2;不过这个矩阵快速幂的方法跟原来普通数的不太一样(;不过也可以用原来那个板子,但是注意ans要赋值为Ema pow(ma a,int k){ ma ans;原创 2017-07-27 19:25:52 · 407 阅读 · 0 评论 -
UVA - 11732 (前缀树)
题目网址点击打开链接;这个题题意是这样的:就是给你字符串进行两两比对,看需要比多少次==,注意相等时==结果ans+=2,如果此位不相等 ans+=1,并且结束比较注意!!!所有的串的比较结束时要么两个不相等,要么至少一个到\0;但是wa点来(wsb)例 wsb wsb比较答案应该是8,而不是6 还需要比较最后一位的\0;竟无语凝噎,因为这,我死磕原创 2017-08-19 09:31:52 · 264 阅读 · 0 评论 -
UVA - 11181 (bfs)
、题目网址‘点击打开链接你会发现这3 20.100.200.305 10.100.100.100.100.100 0Sample OutputCase 1:0.4130430.7391300.847826Case 2:0.2000000.200原创 2017-07-26 20:57:27 · 168 阅读 · 0 评论 -
CodeForces - 298A(雪地走步)
奇妙的一个题 最后一轮的A点击打开链接我把题目看错了!,请zzh仔细阅读红色字体部分!!!There is a straight snowy road, divided into n blocks. The blocks are numbered from 1 ton from left to right. If one moves from the原创 2017-07-01 12:26:05 · 485 阅读 · 0 评论 -
C - Coach CodeForces - 300B(并查集)
吐血三升,早知道我就一心的去搞这个题目了,补了十几分钟就AC 完全没有问题gg思密达 ,就是写的长了点但是思路还是比较简单的,就是判断条件多就是用了一个并查集,然后把相同集合的放在一起看来题目的取舍是一门很深的学问,有的时候要相信自己,不要跟着别人跑人云亦云,做出来多的题目可能是简单,但是有的时候不如这种虽然写起来麻烦,但是自己已经有数的题目,看你的选择喽,选对了就赢,原创 2017-07-01 12:33:36 · 317 阅读 · 0 评论 -
G/A - 食物链 POJ - 1182(并查集)
43.注意scanf,不然又会超时动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。原创 2017-03-27 00:18:11 · 232 阅读 · 0 评论 -
E/C - Sliding Window POJ - 2823 (单调数列;cout与 printf )
用了一个单调队列,还有注意printfAn array of size n ≤ 10 6 is given to you. There is a sliding window of size kwhich is moving from the very left of the array to the very right. You can only see the k num原创 2017-03-16 22:06:40 · 214 阅读 · 0 评论 -
D/ D - Expedition POJ - 2431(优先队列)
52坑爹了。。。注意优先队列的用法,默认是降序,由大到小排列的,(宛如一个智障,忘记了这一点,还用了priority_queueint ,vectorint>,greaterint> >a;)还有这个题处理数据后要进行排序,根据距离的远近这个题的思路转化为,在每到达一个地方就获得了以后可以加油的机会,#include #include#include#in原创 2017-03-26 10:29:08 · 261 阅读 · 0 评论 -
组队赛(F/D) UVALive - 7426(dfs)
这个题题题目的一开始没有看懂,后来理解了,这个代码的意思,但也并不是很懂 ,就是列举各种情况,在代码的各个位置插入输出,分割之后,程序崩坏另一边就不用判断,然后把已经求过的存下来,因为只要代码长度一样所花的时间是一样的看, 然后开始dfs返回搜索各种情况这个dfs略魔性,是为了储存值用的吧#include#include#include #include #defi原创 2017-04-10 16:48:57 · 330 阅读 · 0 评论 -
(2017、4/8/ D - Snacktower) CodeForces - 767A
这个题有毒,,,不难却让我在那搞了半天,其实一开始的思维是错的,一直在那里凑,题目 注意,是每天都要求输出,如果没有就输出空格;而我的思路是将所有的数存储好后,排好序,寻找当前的数字与之前的各个数字的最大id的差值,即是需要输出的空行数,#include #include#includeusing namespace std;const int原创 2017-04-08 20:18:03 · 512 阅读 · 0 评论 -
组队赛(B/H Sudoku) HDU - 5547 (dfs)
一个数读题目;每次遇到一个“*”我们就枚举他变成1,2,3,4然后判断是否合法,如果合法就进行下一个点,否则回溯。还是很简单的思路,但是自己做的时候还是没有想到,对于dfs还是不够敏感#include #includeusing namespace std;const int maxn=105;char tu[6][6];int vis[6][6];int原创 2017-04-08 11:48:16 · 304 阅读 · 0 评论 -
H/ G - Conscription POJ - 3723(最小生成树,并查集)
Windy has a country, and he wants to build an army to protect his country. He has picked upN girls and M boys and wants to collect them to be his soldiers. To collect a soldier without any privilege原创 2017-03-29 00:12:13 · 254 阅读 · 0 评论 -
(组队赛A/C)Gym - 101142C (搜索)
题意:给定n个人在两个网站上的得分,一个人若能在任意一个网站里战胜另一个人,则认为这个人能战胜那个人。问每个人都能战胜多少人。分析:1、战胜具有传递性。例如:4 52 73 3因为第三个人能战胜第二个人,第二个人能战胜第一个人,所以虽然第三个人两个分数都比第一个人低,但第三个人能战胜第一个人。2、按照某个网站的分数排好序,从分数最小的人dfs,经过的人全都标记下来,原创 2017-04-06 22:07:01 · 380 阅读 · 0 评论 -
2016.3.20 H/E - Backward Digit Sums( next_permutation写全排列)
呀吧。这个题居然是这样子的,自己补得,笑哭,就是一个全排列,因为数据太小所以不会超时全排列加上递归求树的和, next_permutation用来求全排列十分方便FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a ce原创 2017-03-20 16:41:33 · 191 阅读 · 0 评论 -
2016_4_16/G [codeforces] C - Pythagorean Triples 数学 (直角三角形的边)
已知直角三角形一条边,求另外两条边;长见识了 原来有一种情况的直角三角形的 两条直角边是只差1或者2的;引用一下他们的博客:对于直角三角形△ABC,如图:我们知道的是因为题目说如果题目存在多种解,输出任何一个就可以了,所以我们不妨假设输入的n是一条直角边的长度,那么根据平方差公式可得原创 2017-04-17 19:59:11 · 296 阅读 · 0 评论 -
(组队赛E/F Number of Connected Components )UVALive - 7638 (并查集)
题意没读懂,,,,,最后知道了,就是在所有给你的数据当中,只要是存在倍数关系的就连为一体,即使是2和3应为如果有6的话,2与6有关系,3与6有关系那么2与3 也是有关系的那就为一组,最后问你能够分成几组。。。真无奈,这个题用一个并查集来联合所有的数据,然后再提前打好表来提前处理庞大的数据防止超时,将每个数的因子存到一个集合中去,当这个数出现在数据中时就将它所有数据处理好,并集,但注...原创 2017-04-05 22:16:05 · 578 阅读 · 0 评论 -
扩展欧几里得(poj 2115 poj 1061)
jumping_frog欧几里德与扩展欧几里德算法欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b原创 2017-05-22 19:09:40 · 289 阅读 · 0 评论 -
poj 3669-Meteor Shower(简单bfs)
我真是傻逼这么简单的一个bfs我都不会写了。。 今天傻逼了一天;这个题目开始不会写bfs了,后来神奇的超时,然后又是wa超时是因为没有处理走过的路程,就是走过的路再走一遍,那样会有不必要的循环,甚至得出错误答案;但是这不是最气的,最气的是,我的错误原因是因为INF的值写错了 ,我自己改了一个#define INF 0x7f 也就是121 而事实上应该是#define I原创 2017-05-21 23:38:30 · 296 阅读 · 0 评论 -
URAL - 1889 E - Airport Announcements (好好读题!!!)
E - Airport AnnouncementsIgor was bored of waiting in an airport lounge. Oceanic Airlines, a company he didn't like so much, delayed the departure of his flight, so he was late for the con原创 2017-05-21 21:14:51 · 346 阅读 · 0 评论 -
校赛 A字符串“水题” (状态压缩)
问题 A: 字符串“水”题时间限制: 1 Sec 内存限制: 128 MB提交: 82 解决: 20[提交][状态][讨论版]题目描述给出一个长度为n的字符串(1输入第一行一个正整数T,表示数据组数(1 接下来T行,每行有一个只包含小写字母的字符串。 输出每个答案输出满足要求字符串个数。每个答案占一行。 样例输原创 2017-04-27 12:05:09 · 311 阅读 · 0 评论 -
2017_4校赛C (模拟链表)
问题 C: 瑞神要考研时间限制: 1 Sec 内存限制: 128 MB提交: 230 解决: 45[提交][状态][讨论版]题目描述瑞神要准备考研了,为了复习数据结构,瑞神在某宝上买了一本数据结构得考研辅导资料《考研数据结构---从入门到放弃》,从此瑞神开始了愉快的复(zhuang)习(bi)。有一天,瑞神找了好多条链表来辅助自己复习,但是他在复习的过程中一不小心把链表原创 2017-04-26 19:41:35 · 295 阅读 · 0 评论 -
POJ - 3126 D - Prime Path(bfs)
software gurus, do you? — In fact, I do. You see, there is this programming contest going on... Help the prime minister to find the cheapest prime path between any two given four-digit primes! The f原创 2017-05-23 22:18:00 · 306 阅读 · 0 评论