暑假
m0_37802215
这个作者很懒,什么都没留下…
展开
-
CodeForces - 789D Weird journey(详细讲解,其实很简单)
这题一开始看到是懵逼的,百度了很多题解也是懵逼的,以为是一个很难得图论问题,因为我图论也只会一些模版.但是后来仔细看发现其实这题不需要什么图的基础,也是一个思维题. 题目描述,需要这样一种路线,但是他区分不同的路线,是根据那些路走了两遍,那些路走了一遍来的,而不是行走顺序,这一点首先要看清楚. 第二呢,注意到这种路线满足所有点都被经过的特点,所以这是欧拉通路的定义,如果不知道可以百度,很简单的.原创 2017-08-07 21:05:29 · 442 阅读 · 0 评论 -
CodeForces 789C Functions again(奇偶分类与递推)
这题感觉不太好描述,因为推理过程挺长的,不过我做出来的核心步骤就是一个y要找到前面的x段来剪去,有两种可能,奇数最小,偶数最大./* xzppp */#include <iostream>#include <vector>#include <set>#include <queue>#include <map>#include <algorithm>#include <stdio.h原创 2017-08-07 15:27:40 · 306 阅读 · 0 评论 -
Codeforces AIM Tech Round 4 (Div. 2) A Diversity
这题居然被hack了,可以说是非常难受了./* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>#include <map>#include <math.h>#include <string>u原创 2017-08-25 02:14:20 · 226 阅读 · 0 评论 -
Codeforces AIM Tech Round 4 (Div. 2) B Rectangles(组合数学)
很简单的组合数学啊,统计每行每列,去一下重就行,感觉会溢出,等比赛完吧./* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>#include <map>#include <math.h>#inc原创 2017-08-25 02:16:23 · 246 阅读 · 0 评论 -
Codeforces AIM Tech Round 4 (Div. 2) C Sorting by Subsequences (dfs)
也不算dfs吧,因为每一个数只能出现一次,所以他必要找到”下家”才行,也就是他该在的位置,那么这是一个连锁的反应./* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>#include <map>#原创 2017-08-25 02:18:06 · 635 阅读 · 0 评论 -
hdu 5573 Binary Tree(传说中的构造)
这题第一眼见到,觉得是个dfs,但是呢,不知道怎么,看着简单但也没去写,(好在没去写),然后下来后,自己傻乎乎的去写dfs,然后果然炸了,毕竟我的裸dfs,复杂度又4^60….(不对,每一个要乘以个2^(i-1)).. 然后就不知所措,上网搜了一下,发现是构造,但是呢,现在虽然我好像懂了,但肯定过几天我又不懂了,所以也不多说. 核心就是,他们说的只要使用前k-1层和最后一层搞一搞,就能搞出[0,原创 2017-08-25 16:32:09 · 218 阅读 · 0 评论 -
hdu 5695 扫雷(思维)(遇事不决就枚举)
就很烦啊,感觉这两天应该是可以休息一下,但是水平太差了,然后整个人都一个很混沌的状态,要开学了,心很乱. 这题一开始不会啊,想了很久递推,但感觉很难实现,百度了一下,发现可以枚举前两行,但是要注意了,并不是这样就万事大吉,可能在过程中,会出现非法状况,所以要去掉. 题目可能会直接给出非法状况,(1的时候?),wa了好多次/* xzppp */#include <iostream>#inc原创 2017-08-26 10:52:30 · 330 阅读 · 0 评论 -
eoj 3330 沉陷过往的幻灭
我真是日了这题了,明明很简单,但是毛子却能把他搞得很复杂很恶心. 统计每一个数字会经历的1或0的数量,乘上他的2^i,即可/* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>using names原创 2017-08-23 10:18:44 · 231 阅读 · 0 评论 -
hdu 5976 Detachment(乘法逆元)(附测试用例)
总结来说,一个数取过模之后,他只能用逆元,不能再向以前一样. 这题的做法本身很简单,分解成2~k,就是最大. 主要就是记录下乘法逆元这个事情. 假如(a/b)%m = c 那么如果a或b是很大的,那么他们不能被直接计算出,所以要取余,那么,对a和b取余之后,(a%mb)/b就不等于c了,因为a和b都取过余了. 那么要对a,b取余时怎么办呢,就用这个叫乘法逆元的东西,(a*k)%m = c,原创 2017-08-26 17:50:24 · 321 阅读 · 0 评论 -
eoj 3329 奇异收缩的剪影(异或性质的运用,简单dp)(存疑)
我发现做了这几个题目,都没有什么思维量,也不是说他们简单,只是一个没接触过类似体型的人,想要想到解法是很困难的. 这题是dp,起初看到dp我没有想法,为什么呢,因为xor这个运算,我没有概念,所以也就很难想怎么样是状态,什么样转移. 我在网上看到 a^b^b = a 也就是说,异或是可以抵消的,放到这里来说,假如我想知道x^a = b中的x,那么我只需要把b再^一下a就行了,这就是转移的关键.原创 2017-08-23 14:18:12 · 267 阅读 · 0 评论 -
eoj 3328 时空交织的代价(树状数组)
感觉这题也很容易啊,因为我对树状数组很不熟悉,然后还是老问题,没有逆向思考,如果从小往大扫,就不用考虑去掉的问题了. 还有个事情,这题会出现负数,但这个负数,不是溢出导致的负数,是”正确”的负数,他们只是在mod中,出现的而已,所以我们最后要%,+mod再mod./* xzppp */#include <iostream>#include <vector>#include <cstdio原创 2017-08-23 19:13:39 · 365 阅读 · 0 评论 -
Hackerrank Equal(这特么也是dp???)
咸鱼的等待着军训,哎呀真的很烦,没有事情可做. 随便玩玩咯. 印度人很恶心,喜欢各种trick./* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>#include <map>#include原创 2017-08-28 20:15:35 · 460 阅读 · 0 评论 -
hdu 4825 Xor Sum(01字典树求最大异或值)
有关昨天cf div2 的d题,表示完全不会啊,一搜发现是个叫01字典树的东西,然后就去看了一下,然后发现完全看不懂,很艰难的做了个”模版题” T_T. 有几个理解的要点. 每个节点记录下一个节点的方式,这里不是指针型,是数组模拟(不知道为什么,好像数组模拟会难理解一点,所以大家都倾向于使用这种),这里不像二叉树 2x,2x+1,而是rt,rt++,等于是一个线性的. 而且我们的query,原创 2017-08-31 20:48:00 · 353 阅读 · 0 评论 -
POJ 1990 MooFest(树状数组)
一个树状数组的模版题,点对距离,没什么意思,前段时间做过一个类似的,没想到是这么普遍的一个题.. 加难版兄弟题 这题真的很随意,随便谢谢就过了./* xzppp */#include <iostream>#include <vector>#include <cstdio>#include <string.h>#include <algorithm>#include <queue>原创 2017-09-02 11:49:13 · 184 阅读 · 0 评论 -
Codeforces Manthan Codefest 17 C 855C Helga Hufflepuff's Cup(树型DP)
想哭,没有眼泪流出. 总算把这题做出来了… 记录一下把,要让自己的博客有价值.. 一棵树,每个节点属于1~m的种类之一,但是其中最多存在x个特殊种类,k. 与特殊节点相连的点,大小必须小于他. 用dp[i][j][k]来dp,i为当前节点号码,j为该点所属子树共有的特殊节点数量,k为当前节点的大小 0表示小于k,1表示等于k,2表示大于k. dp的过程,就是!!!!(一条一条树枝)!!!原创 2017-10-02 21:57:38 · 397 阅读 · 0 评论 -
poj 3254 Corn Fields(他们说是状压dp??)
这题是状压dp,他们还说是最简单的? 好像确实不难,但我真的想了好久. 好菜啊好菜啊 讲实话,这题我不知道跟dp有什么关系,唯一的地方也就是在这里巧妙的运用了很多位运算. 嗯,然后我用了很妖的方法来解决,还手打了一组数据,发现网上一个题解居然会给出负数解(就是百度第一个),真的很搞笑. 我要去看看他们怎么说的了./* xzppp */#include <iostream>#incl原创 2017-08-21 20:49:29 · 368 阅读 · 0 评论 -
CodeForces Round 428 div2 839D Winter is here(数学)(详解)
唉,要是哪天我能不看题解就做出D题来就好了. 感觉自己数学底子好差啊,我怎么都想不出来的问题,他们一句就带过了,应该是很显然的吧. 这题一开始我想到枚举gcd,但是我发现会有重复的情况,然后我就不知道怎么处理了. 这题我觉得最关键的就是这里了,假如很多数,他们都是2的倍数,但是显然,他们中的一些数的gcd不会还是2,但是(!!!!!!)他们的gcd,也仍然是2的倍数.如果你读到这里毫无感觉,那原创 2017-08-14 16:34:56 · 260 阅读 · 0 评论 -
HihoCoder - 1478 水陆距离(很骚的bfs)
我的搜索真的很垃圾 我嘴上会说很讨厌这种傻逼求职刷题网站,因为他们的题目都是暴力,单纯恶心的写代码,但是其实我心里明白只是因为我自己菜而已. hihocoder的题目的题解,都给人一种不专业的感觉,我想不是我的幻觉,这个bfs的题目,我写搜索是真的不会,这篇还是详细一点吧 这题最骚的地方就是他从所有水域开始同时搜,这一点是我以前没有想过的,因为这样就像是病毒扩散,距离永远是最低,如果从每一个陆原创 2017-08-09 09:42:14 · 359 阅读 · 0 评论 -
CSU - 1597 薛XX后代的IQ
我尊敬这题,也鄙视我自己. 这题一开始看到没有思路,因为我每次看到这种大计算,只知道快速幂,当然几乎每次都没用. 然后发现这题x,y,p都是300以内的,也就是说,在10^18次方内,x,y最多也只有90000种组合,这是很少的,所以我们可以直接全部算出来,显然会在某一个地方陷入循环,那么然后就算再多的后代,也可以取模取掉. 这思路是很简单的,但我犯了两个致命失误,这题wa了很久. 1.认为原创 2017-08-09 14:09:21 · 190 阅读 · 0 评论 -
CodeForces - 158E Phone Talks(dp)
可能以后补题会少一点了. 这题虽然知道是dp,但是还是想不出好的dp状态,看了题解后发现,我以前想dp,总是想着答案直接就在dp数组里面,这样有时就很难处理,这题就是这样,处理出dp之后,还要根据每一组的时间开始来剪去,计算最长时间间隔. 这题我也不是很懂,但是感觉是一个很好的题目,写个博客记一下把./* xzppp */#include <bits/stdc++.h>using nam原创 2017-08-16 19:21:23 · 210 阅读 · 0 评论 -
UESTC - 1357 柱爷与最大区间和(简单dp)
大概是本周最开心的一次A题了哈哈. 这题一见到我就有点烦,因为这题我以前见过,看了很久题解,然后勉强A(抄)了,这次一看到发现还不会,而且已经没有任何印象了,就很难过,但是今天下午头很痛,没想到想了一会就想出来了哈哈. 首先可以用基本的方法,dp[i]来表示以a[i]来(结尾!!)的最大子序列和,但这题由于要分两段,所以我们也来个dpx[i],就是反向的dp. 然后就是第二个处理,把dp[i]原创 2017-08-09 18:19:26 · 310 阅读 · 0 评论 -
HDU - 5265 pog loves szh II (二分或者贪心)
这题有两种做法,一种是二分,我很快就想到了(nlogn的复杂度,10^6的n). 第二种就是贪心了,我觉得这个不那么容易想到,好像速度要快一些. 首先,我们找答案的两个数x,y,有两种,一种是x+y>p,一种是x+y< p ,(读入时把每一个都mod p) 那么第一种如果存在,那么最大值一定是数组最大值加次大值的mod.第二种的最大值,就是我们要关心的事情了. 第一种我们直接使用二分,每一个a原创 2017-08-10 18:36:24 · 366 阅读 · 0 评论 -
Eoj 3318&3326 最大的排列 刚好坐满的公交车
也不算题解吧,反正应该也没人会看到. 主要是纪念一下这个事情. 最大的排列是一个dfs,我的搜索好菜,写的很丑,效率也很低. 刚好坐满的公交车,其实这题很容易,但是可怕就可怕在题目里告诉要取模,但是我想着的枚举,怎么可能要取模呢,然后就没继续想了./* xzppp */#include <bits/stdc++.h>using namespace std;#define FFF fr原创 2017-08-18 13:04:08 · 427 阅读 · 0 评论 -
CodeForces - 835C Star sky(预处理加二维处理)
补题第一发.. 这题第一眼见到完全不会做啊,然后就算在比赛中百度了看到说是dp,然而也完全没有思路,就没有尝试了. 是一个所谓的预处理吧,因为星星的亮度是周期性变化的,所有只要处理最多1~10的情况就好了. 还有,这根本跟dp没关系啊,不就一个简单容斥嘛.(画个图就很好理解了,注意方框的边缘的处理,要减一)/* xzppp */#include <iostream>#include <原创 2017-08-04 13:26:32 · 356 阅读 · 0 评论 -
CodeForces - 798D Mike and distribution
本题在比赛的时候也是想不出啊,随便贪了一下果然没用,然后也没有尝试了. 是一个很妙的贪心啊,这题是d也不是没有理由. 大概办法就是对a的序号排序(根据对应元素大小),然后分奇偶讨论,主体就是每组两个来考虑,选b中大的那个,然后处理下头就行了/* xzppp */#include <iostream>#include <vector>#include <set>#include <qu原创 2017-08-04 14:50:22 · 239 阅读 · 0 评论 -
CodeForces - 551B ZgukistringZ(暴力)
真的很弱智,我tmT了一年,找不出问题在哪里,才发现我每个字符串的for循环都是到strlen(),唉,用cin>>string,习惯了,string真的好蠢./* xzppp */#include <iostream>#include <vector>#include <set>#include <queue>#include <map>#include <algorithm>#原创 2017-08-11 14:21:06 · 326 阅读 · 0 评论 -
Codeforces Round #429 (Div. 2) 841A Generous Kefa(水)
水题,没什么可说的,判断一下最大值就好./* xzppp */#include <bits/stdc++.h>using namespace std;#define FFF freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);#define lson MAXN,m,rt<<1#define rson m+1,r,rt<<1原创 2017-08-19 01:06:04 · 274 阅读 · 0 评论 -
Codeforces Round #429 (Div. 2) 841B Godsend(思维)
首先判断是否总和为奇数,如果是则直接一号赢. 如果是偶数,则有两种,如存在奇数(那么一定是偶数个),那么也是一号一定赢,为什么呢,我们可以想象,一号每一次拿一个奇数,都可以带走非常非常多的偶数,那么偶数一定是不够用的.如果没有奇数,那么就二号赢咯./* xzppp */#include <bits/stdc++.h>using namespace std;#define FFF freo原创 2017-08-19 01:09:57 · 407 阅读 · 0 评论 -
Codeforces Round #429 (Div. 2) 840A Leha and Function(贪心)
这题真的很简单,直接观察一下样例,就是尽可能使两个数差距大,所以就排两个序解决,你可以自己验证下是不是这样. 唉,被编译器坑了,至少少了我300分,本来int不能被lld输出,自己机子上居然可以,搞得wa在test1十几次,气死我了./* xzppp */#include <bits/stdc++.h>using namespace std;#define FFF freopen("in原创 2017-08-19 01:12:55 · 410 阅读 · 0 评论 -
Codeforces 839C Journey(dfs+概率)
很简单啦,注意到他只有n-1条边,那他一定是一棵树,没有环的. 所以只需要计算到达每个尽头的距离*每一次选路线时的概率就好了./* xzppp */#include <iostream>#include <vector>#include <set>#include <queue>#include <map>#include <algorithm>#include <stdio.h原创 2017-08-13 00:41:43 · 643 阅读 · 0 评论 -
2017"百度之星"程序设计大赛 - 资格赛 1003 度度熊与邪恶大魔王(带题解)
本来以为这资格赛是第一次比赛应该很简单,然后又做出一题就行,心态很随意,扫了一下几个题目感觉都不是很高深,然而发现过题人不是很多,想先过第三题,发现比想象中难很多啊..我想我大概只做得出这一题吧… 一个多重背包(大概?),注意到防御力范围在0到10,所以就全部预处理出来,对每一个防御力,进行一个多重背包,所以dp[1000][1000][10]. 然后这题不一样在我们(我也就见过一个..)一般做原创 2017-08-05 14:42:40 · 844 阅读 · 0 评论 -
51nod 1076 关于环
判断无向图中两个点是否存在两条”不相交”即完全没有重合边的路径 绝望了很久,然后想到环这种东西,如果一个图中,有点的入度是1,那么他肯定不能和任何点有这种路径,那么把这种点剥离完之后,那个”环”就一定每个都满足. 判断森林情况.#include <iostream>#include <vector>#include <set>#include ...原创 2018-07-10 23:11:06 · 142 阅读 · 0 评论