
思维
文章平均质量分 74
IcePrincess_1968
这个作者很懒,什么都没留下…
展开
-
HDU6305: RMQ Similar Sequence 题解
DescriptionChiaki has a sequence A={a1,a2,…,an}. Let RMQ(A,l,r) be the minimum i (l≤i≤r) such that ai is the maximum value in al,al+1,…,ar.Two sequences A and B are called \textit{RMQ Similar}, if...原创 2018-07-23 23:41:24 · 505 阅读 · 0 评论 -
Codeforces #838D: Airplane Arrangement 题解
一道神题 考虑把座位拉成一个环,这样就不存在没有位置的情况了 在第一个和最后一个之间加一个座位,这样只要这个座位被占就说明这个安排不合法 我们发现这个环是完全对称的,所以每个位置被占的概率是一样的 我们考虑所有的选法,现在有n+1个座位,有两种方向,所以有(2(n+1))m(2(n+1))m(2(n+1))^m种安排方式 我们考虑选中合法方案的概率,从n+1个椅子里面挑m个被占,其中不能...原创 2018-06-30 20:32:04 · 480 阅读 · 0 评论 -
AtCoder Grand Contest 024D: Isomorphism Freak 题解
很容易想到最终的树有两种形态 1. 一个点下面挂着若干棵完全相同的子树 2. 两棵完全相同的子树连在一起 第一部分的答案是很好算的,因为我们发现同一层的节点可以涂一样的颜色,所以我们要在原树里面找一个地方把原树“折”成两半,使得两半的深度尽可能的接近 那么这个地方显然应该是树的中心,也就是直径的中间 设直径长度为d,则若d是奇数第一问答案是d/2+1否则是d/2 考虑第二问,如果直径长...原创 2018-05-22 14:28:59 · 570 阅读 · 1 评论 -
AtCoder Regular Contest 080C: 4-adjacent 题解
思维题 首先所有的数可以分成能被4整除的,能被2整除但不能被4整除的和没有2因子的三类 显然如果没有最后一类的话是显然可以的,所以我们只要考虑是否每个最后一类的数都能保证其左右都是第一类数 如果没有第二类数,那么只要第一类数个数大于等于第三类个数减一就行,因为最极端的可以出现31313这样的例子 如果有第二类数,那么就得保证第一类树个数大于等于第三类数个数#include <...原创 2018-05-21 20:17:03 · 323 阅读 · 0 评论 -
TopCoder SRM461C: FencingGarden 题解
我们首先可以发现一个性质:因为只会有两个小段是被切出来的,而篱笆有三条边,所以必然有一条边是由未被切割的篱笆构成的 我们设这条边的长度为x,所有篱笆的长度和为s,有两种情况 1. 这条边与墙平行,则面积S=xs−x2=−12x2+12sxS=xs−x2=−12x2+12sxS=x \frac{s-x}{2}=-\frac{1}{2}x^2+\frac{1}{2}sx 2. 这条边与墙垂直,则...原创 2018-05-20 22:08:31 · 349 阅读 · 1 评论 -
AtCoder Grand Contest 004F: Naromi 题解
Model Transformation如果不考虑到这个模型的转换,这道题可能很难入手:题目要求如果相邻两个的颜色相同,就把它们都换成另一种颜色我们先考虑树的情况,树是一个二分图,所以可以先黑白染色我们考虑这样一个模型: 现在有一些池塘,池塘的连接结构和题中的图是一样的,刚开始有些池塘有水,有些池塘没有水(对应二分图)每次操作可以把一个池塘的水流到相邻的池塘里,要求最后原来有水的...原创 2018-04-23 14:38:09 · 260 阅读 · 0 评论 -
Codeforces #38H: The Great Marathon 题解
非常好的题目,考验思维和代码技巧这道题目有一个性质,答案只关心每个人拿了什么奖牌,不关心他们的最终排名和最终成绩所以要想让一个人拿金牌,那么他就应该在1~n中选最短路径最短的点作为终点,反之,要想让一个人拿铜牌,就应该选1~n中最短路径最长的点作为终点于是我们可以获得n个最短点和n个最长点,我们可以确定,最终的金牌成绩线和铜牌成绩线一定在这些数中产生所以我们可以枚举金牌线和铜牌线,O(n^2)对于...原创 2018-03-11 23:20:48 · 524 阅读 · 0 评论 -
Codeforces #48G: Galaxy Union 题解
n个点n条边的连通图,是一个基环外向树先用一遍深搜把环找出来然后对于每一个点的答案,他到树内部的答案可以树型dp搞一搞,到其他树以及到环上的点的答案可以在环上two pointers搞一搞主要是一道代码能力题#include <cstdio>#include <iostream>#include <cstring>#include <string&g...原创 2018-03-06 13:05:52 · 389 阅读 · 0 评论 -
Codeforces #30E: Tricky and Clever Password 题解
首先可以发现一个结论我们枚举一个中间回文串的中心点,会发现我们一定会选择以它为中心的最长的回文串因为考虑左边右边的两个串,如果它们与长回文串不重叠,那么取长串显然更优;如果重叠,那么不重叠的部分仍然可以取,重叠的部分已经被我的长串取掉了,也不亏。所以取长串肯定最优对于每个长度的后缀,如果前面有多个子串和它匹配,那么显然越靠前越优我们先求对于每一个位置,能和后缀匹配的最长长度,记为p[i]我们枚举位...原创 2018-02-07 23:57:29 · 383 阅读 · 0 评论 -
Codeforces #356E: Xenia and String Problem 题解
首先很重要的一点是,gray串的长度种类很有限,必须是二的若干次幂-1,所以所有可能是gray串的子串个数是nlogn级别的所以可以用isgray[i][clen]表示从i开始,长度为2^clen-1的串是否是gray串这样我们可以先把原串的beauty值算出来然后我们枚举每一位改成哪个字符,然后算更新的beauty贡献首先,对于所有包含第i位且不以i为中心的gray串,修改i必定原创 2018-02-06 18:05:26 · 304 阅读 · 0 评论 -
Codeforces GYM 100962E: Elvis Presley 题解
首先,如果A是B的前缀或者B是A的前缀,那么直接输出-1否则一定有解我们可以考虑到使得答案最小化,则应该尽量选取短的数我们将A,B的所有的前缀记录一下,称这些前缀是危险的,那么我们进行一次宽搜,如果当前串不是危险的,就可以把它放入答案,并且不用这个串再扩展了,因为一旦这个串已经被放入答案,它所扩展出的串都是不合法的;如果当前串危险,就将串后面加0加1都放入队列中,用它继续进行扩展我原创 2018-02-02 14:28:00 · 335 阅读 · 0 评论 -
(权限题)NFLSoj #32: 辐射 题解
先吐槽一波这题实在是太难写了。。。借鉴youyl的博客:考虑一个辐射源对其他点的贡献,就是若干个正方形叠加在一起。 如:0 0 0 0 0 0 00 1 1 1 1 1 00 1 2 2 2 1 00 1 2 3 2 1 00 1 2 2 2 1 00 1 1 1 1 1 00 0 0 0 0 0 0考虑每个正方形,一个通用的思路就是差分:0 0 0 0原创 2018-01-25 23:05:47 · 651 阅读 · 0 评论 -
(权限题)NFLSoj #29: 环 题解
我们枚举一个中心点,称为X将与中心点相连的点取出来,这个点集称为S剩下的点按照联通块分成若干个点集,设第i个联通块构成的点集为Ti找出S中与Ti中任意一点相邻的所有点,这个点集称为Gi如果Gi中存在两个不相邻的点,那么原图一定有解这个解是:中心点,Gi中不相邻的两个点,以及与这两个点相邻的Ti中的两个点的最短路径上的所有点,最短路径上的点是不会有不满足题意的情况的这样总复杂原创 2018-01-24 21:28:54 · 628 阅读 · 0 评论 -
Codeforces #835C: Star Sky 题解
首先,虽然观测的t很大,但是每过c+1秒星星的亮度和之前的就一样了,所以可以将t mod c+1,这样t<=c离线处理所有的询问因为c的范围很小,枚举所有的t,将t相同的询问放在一起处理对于每个t,先把星星的亮度求出来,存进数组,然后对数组做一个前缀和,就可以O(100)的处理所有当前t的询问复杂度。。。大概是O(n*c)的吧注意星星的坐标可能会重合#include <cstdio&g...原创 2017-08-01 11:08:19 · 494 阅读 · 0 评论