摘要:退役后无聊自制了一个游戏... 本想打个2048,限于能力,就照着半成品改成了这个。 Cmd输出太慢有点晃眼。 cpp include include include include include include include using namespace std; const int MAX 阅读全文
posted @ 2018-01-10 13:29 chwhc 阅读 (47) 评论 (1) 编辑
摘要:(题目的意思就是说这是我瞎写的,不是我的退役感悟,文中的“我”也不是我...在博客上,从来没有写一些心得感悟等关于自己的东西。结果最后要退役了,觉得该写点什么吧,也真切地写了一篇退役文,却不想发...于是就把这个假货发出来) 正文分割线 从食堂走回教室,望见机房的灯亮着。回到教室,看见学奥赛的学生座 阅读全文
posted @ 2017-12-17 12:56 chwhc 阅读 (79) 评论 (2) 编辑
摘要:已经写过本题用二分图的做法, "见这儿" 。 本题的图是一棵树,求最小点覆盖也可以用树形DP的做法。 定义状态f[0/1][u]表示以u为根的子树,u选取/不选最少需要选取多少点来覆盖。 显然 f[0][u] = Sigma{f[1][v]},f[1][u] = Sigma{min(f[0][v], 阅读全文
posted @ 2017-11-02 18:50 chwhc 阅读 (28) 评论 (0) 编辑
摘要:The cows, who always have an inferiority complex about their intelligence, have a new guessing game to sharpen their brains.A designated 'Hay Cow' hid 阅读全文
posted @ 2017-11-01 19:47 chwhc 阅读 (25) 评论 (0) 编辑
摘要:一道数论好题,知识点涉及扩展欧几里得,快速幂,逆元,二项式定理,模运算,组合数等。 (~~别问为啥打了快速幂不用费马小求逆元...我就练习下扩欧~~) (~~数据就应该再加大些卡掉n^2递推求组合数的~~) 阅读全文
posted @ 2017-10-31 07:31 chwhc 阅读 (48) 评论 (0) 编辑
摘要:"原题链接" 此题求二分图的最小点覆盖,数值上等于该二分图的最大匹配。得知此结论可以将图染色,建有向图,然后跑匈牙利/网络流,如下。然而... 还有DP解法,待填。 11.02UPD "树形DP解法" 阅读全文
posted @ 2017-10-27 09:32 chwhc 阅读 (68) 评论 (0) 编辑
摘要:NOIP2012 疫情控制 题解(LuoguP1084) 不难发现,如果一个点向上移动一定能控制更多的点,所以可以二分时间,判断是否可行。 但根节点不能不能控制,存在以当前时间可以走到根节点的点,可使向下走到深度为2的节点控制 其他点,此时又可以进行另一个贪心,优先选择走到根节点还能再走的时间小的去 阅读全文
posted @ 2017-10-24 19:33 chwhc 阅读 (43) 评论 (0) 编辑
摘要:Sorting a Three Valued Sequence IOI'96 Day 2 Sorting is one of the most frequently performed computational tasks. Consider the special sorting problem 阅读全文
posted @ 2017-10-20 20:33 chwhc 阅读 (43) 评论 (0) 编辑
摘要:Arithmetic Progressions USACO1.4 An arithmetic progression is a sequence of the form a, a+b, a+2b, ..., a+nb where n=0,1,2,3,... . For this problem, a 阅读全文
posted @ 2017-10-19 21:55 chwhc 阅读 (39) 评论 (0) 编辑
摘要:"原题链接" 经典贪心,转化为问题为,对于所有的区间,求最小的点数能使每个区间都至少有一个点。 cpp include include include include include include using namespace std; const int MAXN=100000+5; cons 阅读全文
posted @ 2017-10-17 17:10 chwhc 阅读 (30) 评论 (0) 编辑
摘要:拦截导弹 题意:求最长不上升子序列长度;求一个序列最少分成几个非增子序。 第一问易求,已知序列a,令f[i]为a前i个元素的最长非增子序的长度,则有 f[i]=max{f[i],f[j]+1} (1=h[i]). LIS另有nlogn做法,设g[i]为长度为i的最长不上升结尾最小是什么,二分查找更新 阅读全文
posted @ 2017-10-17 13:23 chwhc 阅读 (70) 评论 (2) 编辑
摘要:一开始是不会的,不知道如何处理相等的情况,瞎贪心一直WA。 于是就递归处理是让相等的平局还是输掉,如下,拿到了50分。 cpp int solve(int a,int b,int i,int l,int r) { int ans=0; for(;ib[l]) ans+=2,++l; else if( 阅读全文
posted @ 2017-10-17 07:56 chwhc 阅读 (17) 评论 (0) 编辑
摘要:"题目链接" 考虑正序去除点去掉其所有连边十分复杂,可以倒序离线处理,每次新建一个点,连接其连边,用并查集统计联通块的个数。 附代码 cpp include include include using namespace std; const int MAXN=400000+5; int ans[M 阅读全文
posted @ 2017-10-15 13:18 chwhc 阅读 (53) 评论 (0) 编辑