11 2016 档案

摘要:传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4089 本来可以一遍过的,结果mle了一发。。。注意要用滚动数组。 令f(i, j)表示队列剩余i个人,这个人排第j时遇到那种情况的概率,则有 f(i, j) = p1 * f(i, j) + p2 * f 阅读全文
posted @ 2016-11-30 21:04 ciao_sora 阅读(284) 评论(0) 推荐(1)
摘要:传送门:http://poj.org/problem?id=3744 令f(i)表示到i,安全的概率。则f(i) = f(i - 1) * p + f(i - 2) * (1 - p),若i位置有地雷,则f(i) = 0.很显然,要用矩阵来加速,矩阵也很好构造,懒得写了,百度图片搜“poj3744” 阅读全文
posted @ 2016-11-30 18:46 ciao_sora 阅读(218) 评论(0) 推荐(0)
摘要:传送门:http://poj.org/problem?id=2096 题面很长,大意就是说,有n种bug,s种系统,每一个bug只能属于n中bug中的一种,也只能属于s种系统中的一种。一天能找一个bug,问找到的bug涵盖所有种类的bug与所有种类的系统期望需要几天。 令f(i, j)为找到了i种b 阅读全文
posted @ 2016-11-29 21:02 ciao_sora 阅读(160) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1415 noip2016 D1T3,多么痛的领悟。。。看来要恶补一下与期望相关的东西了。 这是一道经典的求期望的题,尽管我的代码里把那个记忆化搜索那个叫做dp,但事实上这不是动态规划,只是递推。 阅读全文
posted @ 2016-11-28 20:39 ciao_sora 阅读(390) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 这一题除了LCT解法,还有一种更巧妙,代码量更少的解法,就是分块。先想,如果仅仅记录每个节点需要几步可以弹飞,就可以做到O(1)查询O(n)修改;如果仅仅记录每个节点弹力洗漱,就可以做到 阅读全文
posted @ 2016-11-24 19:10 ciao_sora 阅读(1206) 评论(0) 推荐(0)
摘要:传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 第一道LCT,调了3天,发现是智障bug,我的青春。。。 主要参考了黄学长的代码,也没啥好说的,反正就是LCT,就当存一份模版好了。 我说的那个智障bug是指,splay开时前,push 阅读全文
posted @ 2016-11-24 13:41 ciao_sora 阅读(263) 评论(0) 推荐(0)
摘要:传送门:http://poj.org/problem?id=1741 写的第一道树分治题,撒花纪念~ 对于每一对点对(i, j),它有三种情况: ① 其中一个是根节点。这种情况比较简单,直接加上就好了。 ② 横跨根节点。这种情况是重点。 ③ 不是以上两种情况。这时递归下去求解就好了。 那么对于第二种 阅读全文
posted @ 2016-11-21 20:09 ciao_sora 阅读(122) 评论(0) 推荐(0)
摘要:题4 最大值(findmax) 【题目描述】 找到一个数组的最大值的一种方法是从数组开头从前到后对数组进行扫描,令max=a[0](数组下表从0..N-1),如果a[i]>max,就更新max,这样就可以在O(N)的时间里找到一个数组的最大值。 这个问题是相当简单的,但是想到了另一个问题,如果一个包 阅读全文
posted @ 2016-11-18 09:36 ciao_sora 阅读(409) 评论(0) 推荐(0)
摘要:一看懵了,求一条路的长度whose二进制位中1的个数最小?什么鬼。 其实这种n这么小的图论题,应该往Floyd上想了。令f(p, i, j)为从i走长度为2^p长度的路能否到j,若能,则在一张新的图上连一条i到j的边。最后bfs就猴了。 阅读全文
posted @ 2016-11-15 21:10 ciao_sora 阅读(234) 评论(0) 推荐(0)
摘要:先将输入的边从小到大排序,对于一条边,它一定连接着两个联通块u与v,那么这条变对于答案的贡献是siz[u] * siz[v] * (边权 + 1) - 1,别问为什么这太显然了,一想就懂。。。 阅读全文
posted @ 2016-11-15 20:29 ciao_sora 阅读(322) 评论(0) 推荐(0)
摘要:4. 种树 (trees.pas/c/cpp) 【问题描述】 一条街的一边有几座房子。因为环保原因居民想要在路边种些树。路边的地区被分割成块,并被编号为1..n。每个块的大小为一个单位尺寸并最多可种一棵树。每个居民想在门前种些树并指定了三个号码b,e,t。这三个数表示该居民想在b和e之间最少种t棵树 阅读全文
posted @ 2016-11-15 20:01 ciao_sora 阅读(315) 评论(0) 推荐(0)
摘要:pdf效果太差,转成word效果依旧差,只好转成jpg传了。 这一题用到了“归类”的思想,令s(i, a)表示前i个字体,字符a出现的次数。那么ans一定等于一个 ( s(i, a) - s(j, a) ) - ( s(i, b) - s(j, b) ), 归一下类,得到ans等于一个 ( s(i, 阅读全文
posted @ 2016-11-13 09:44 ciao_sora 阅读(203) 评论(0) 推荐(0)
摘要:阿狸最近想起一个英文名,于是他在网上查了很多个名字。他发现一些名字可以由两个不同的名字各取一部分得来,例如John(约翰)的前缀 “John”和Robinson(鲁滨逊)的后缀 “son” 连在一起就是Johnson. 现在他找到了两个喜欢的名字(名字可看作字符串),用A和B表示,他想知道取A的一个 阅读全文
posted @ 2016-11-11 22:14 ciao_sora 阅读(435) 评论(0) 推荐(0)
摘要:传送门1:http://www.usaco.org/index.php?page=viewproblem2&cpid=138 传送门2:http://www.lydsy.com/JudgeOnline/problem.php?id=2678 最开始没看到要将那些书按顺序放!!一定是按顺序!我还以为是 阅读全文
posted @ 2016-11-11 15:56 ciao_sora 阅读(818) 评论(0) 推荐(0)
摘要:传送门:http://www.usaco.org/index.php?page=viewproblem2&cpid=126 好题啊好题,一开始就输给了这道题的想法! 先把原始状态以及目标状态换一种表示方式,比如输入数据是的初始状态是1 2 3 4,表示成1 2 2 3 3 3 4 4 4 4,目标状 阅读全文
posted @ 2016-11-10 15:35 ciao_sora 阅读(291) 评论(0) 推荐(0)
摘要:传送门:http://www.usaco.org/index.php?page=viewproblem2&cpid=127 又是一道这种题目,遇到一次跪一次,这次终于硬着头皮看懂了题解,但是谢了代码之后还是wa了3个点(共20个),实在是找不出哪里错了,略烦。。。 题解真的不想写了,贴个链接叭。。。 阅读全文
posted @ 2016-11-09 21:45 ciao_sora 阅读(351) 评论(0) 推荐(0)
摘要:传送门1:http://www.usaco.org/index.php?page=viewproblem2&cpid=118 传送门2:http://www.lydsy.com/JudgeOnline/problem.php?id=2590 又挂了一道贪心,好烦啊。 这一题应该要想到“撤回”操作就好 阅读全文
posted @ 2016-11-08 19:21 ciao_sora 阅读(410) 评论(0) 推荐(0)
摘要:一看跟子串相关,就是后缀那一套了。想法是这样的,尽量在文本串中找到更长的子串与当前串匹配。若无法继续匹配了,则重新匹配,答案+1。这里我选择了后缀自动机,实现起来好写。 这也算是SAM的模版了叭。 阅读全文
posted @ 2016-11-07 21:44 ciao_sora 阅读(363) 评论(0) 推荐(0)
摘要:不懂英文自行解决。。。 一看到最大值最小,就是二分,可是想了半天也没想出来如何check。看了题解,恍然大悟。 随便选一个根拉成一棵树,然后对于以r为根的子树,假设以其儿子节点为根的子树中该断的边已经断了,那么对于以r为根的子树中,其直径为“最深”的两个儿子i与j的深度之和 + 2,“最深”的意思是 阅读全文
posted @ 2016-11-07 19:51 ciao_sora 阅读(279) 评论(0) 推荐(0)