随笔分类 - codeforces/Gym
摘要:题意:一颗树,每条边有个颜色,一条路径被定义为“彩虹”,当且仅当其上没有长度大于等于2的同色子路径。一个结点被定义为“超级结点”,当且仅当从其发出的所有路径都是“彩虹”。 枚举所有长度为2,且同色的路径,其两端点方向发出的子树中的结点都不可能成为答案,只需要将它们覆盖掉即可,用dfs序处理,在左端点
阅读全文
摘要:题意:给你一个不超过九位的不含重复数码的十进制数,每次会随机将它的数码打乱,变成一个新的数,如果它小于等于上一次的数,那么你输了;如果它大于上一次的数,那么可以继续。直到它变成能够表达的最大数为止就赢了,问你赢的概率。 设所有排列从小到大被标记为1~n。p(i)表示排列i获胜的概率。 p(n)=1;
阅读全文
摘要:题意:第一象限有n个点,你从x正半轴任选一个位置出发,vy恒定,vx可以任意变化,不过只能在-vy/r到vy/r之间变化,问你最多能经过多少个点。 暴力dp是n^2,不可取。 注意到,一个点,所能到达它的点,是它后面一个张角内的所有点。这个张角很容易算出。 于是可以将这些点全部映射到一个新的坐标系内
阅读全文
摘要:题意:有向图最小环,输出方案。 附无向图最小环(转自 http://www.cnblogs.com/kane0526/archive/2012/11/09/2763170.html):
阅读全文
摘要:题意:给你三个1~n的排列a,b,c,问你在 (i,j)(1<=i<=n,1<=j<=n,i≠j),有多少个有序实数对(i,j)满足在三个排列中,i都在j的前面。 暴力求的话是三维偏序,相对比较困难。但是我们可以用一些简单的方法。 设在a中i在j前面的有序实数对数为A,b中为B,c中为C。(其实显然
阅读全文
摘要:题意:有n个水井,每个水井发出一些管线(都是线段),然后每条管线上最多只有一个水井。所有从不同的水井发出的管线的相交点都是清洁点(不存在清洁点是大于两条管线点的交点)。你需要在某些管线上放出一些机器人,它们会清洁所有该条管线上的清洁点。但是两条相交的管线不能同时放有机器人。问你是否存在一种可行的放机
阅读全文
摘要:题意:有n个人,依次来到机房,给你他们每个人的到达时间和使用时间,你给他们分配电脑,要么新开一台, 要么给他一台别人用完以后没关的。一台电脑会在停止使用M分钟后自动关闭。让你最大化不需要新开电脑的总人数。 将人按照到达时间进行排序,把所有已经处理完的人的结束时间塞在小根堆里面。新来一个人的时候,从堆
阅读全文
摘要:题意:交互题,有一个长度为n(偶数)的二进制串,你需要猜不超过n+500次猜到它。如果你猜的串与原串相同的位数为n,那么会返回n,如果为n/2,那么会返回n/2,否则都会返回零。 先random,直到出现一个n/2为止,将此串视为a串。由于正态分布,肯定能在500次内查到。 然后枚举a的所有相邻元素
阅读全文
摘要:题意:河里有n块石头,一只青蛙要从左岸跳到右岸,你可以再在任意一个位置放一块石头,使得在最优方案下,青蛙单步跳的距离的最大值最小化,输出该位置。 将原图视作完全图,二分答案mid,然后在图中只保留小于等于mid的边,分别用dfs处理左岸能到哪些石头,右岸能到哪些石头。然后二重循环枚举两侧这些点对,如
阅读全文
摘要:题意:给你一个n*n的矩阵,初始时,(x,y)的值为x+y。可能有两类操作,一类是对某一行求和,并将这一行置零;另一类是对某一列求和,并将这一列置零。 维护四个值:一个是列标号之和,一个是当前存在的列数,一个是行标号之和,另一个是当前存在的行数。 询问某一行的时候,只需要输出列标号之和+该行行号*当
阅读全文
摘要:题意:每个队伍有个赔率pi,如果你往他身上押x元,它赢了,那么你得到x+(1/pi)x元,否则你一分都得不到。问你最多选几支队伍去押,使得存在一种押的方案,不论你押的那几支队伍谁赢,你都能赚得到钱。 设你往第i支队伍上押ai元,不选的视作零元。 首先可以证明,不论你持有多少钱,不影响最后是否有解;是
阅读全文
摘要:题意:n个数,m次询问,每次给你一个询问v,l,r,问你v%a[l]%a[l+1]%...%a[r]是多少。 a%b,结果要么不变,要么至少缩小到a的一半,于是用线段树,每次询问当前区间最靠左侧的小于等于当前数的值是多少,只需不超过log次询问就能使该数模完,就行了。 O(n(logn)^2)。
阅读全文
摘要:题意:一个邮递员从数轴上原点出发,每次最多带K封信,往n个地方送信,每个地方有一定的需求的信件数,问你最少要跑的距离的总和是多少?一趟可以给多个地方去送。 显然优先往远的地方送比较优越,近的地方可以顺路给他带过去。 原点两侧是独立的,可以分别处理。
阅读全文
摘要:题意:方格内有些位置是水域,有些位置是陆地,有些位置是被云彩遮挡住了;让你自己规定被云彩遮挡住的地方是陆地还是水域,使得陆地个数最多。(均为四连通块) 显然与陆地邻接的云彩填成水比较优。其他云彩格子填陆地只填大小为1的即可。 然后剩下的云彩黑白染色,S往黑色连1的边,白色往T连1的边,黑色往与其邻接
阅读全文
摘要:题意:平面上l盏灯,每盏灯可以照亮横向的2*r+1个格子或者纵向的2*r+1个格子,让你确定每盏灯的方向,使得每个格子只被同一行的不超过一盏灯照亮,并且只被同一列的不超过一盏灯照亮。输出是否有解。 显然的2-sat模型。
阅读全文
摘要:题意:一个字符串被定义为“alphabetical”,当且仅当它能够删除一些字符,变成“ab...yz”,给你一个只由小写字母组成的字符串,问你最少插入几个字母,使它变成“alphabetical”的。 f(i,j)表示前i个字母,以j为结尾时,最少要插入几个字母。 f(i,j)=min{f(i-1
阅读全文
摘要:题意:给你一个n个点的凸包,让你切一刀,使得它变成一个m边形和一个K边形,问你切的这一刀最短是多少。 如果m+K==n+4,那么一定切在两条边上,但是由于两个线段间的最短距离,至少会经过一条线段的一个端点,于是可以枚举其中一条边,然后算出另一条边,然后枚举4个端点到对面线段的距离,取最小值即可。 如
阅读全文
摘要:题意:有n片药,有三种颜色,白色比红色重,红色比蓝色重,给你一些它们之间的重量关系,比如1>3,2=4之类,问你它们的颜色,如果没法判断的输出?。 先并查集把等于号全缩起来,然后按照大于号建图,就是一张DAG,枚举所有的点,发现它如果是一个长度为3的链的中间结点,那么它、它指向的、指向它的颜色都可以
阅读全文
摘要:题意:有n条鱼,煎一条鱼的一面要一分钟,锅只能同时煎K条鱼,问最少时间是? 想想小时候那个脑筋急转弯,3条鱼只需2分钟。可以大胆猜测,n条鱼,只需ceil(n*2/K)分钟,即一定能非常高效地煎完,每一时刻锅里都是满的。有个需要特判的地方:n如果小于K/2,也需要至少2min,不要输出成1了。
阅读全文
摘要:题意:给你一个经典的汉诺塔递归程序,问你最少几步使得三个柱子上的盘子数量相同。(保证最开始盘子数量可以被3整除) 规律:ans(n)=2^(2*n/3-1)+t(n/3)。 t(1)=0. t(n)= t(n-1)+1,n为偶数 t(n-1)*4+2,n为奇数。 Java文件读写主要有以下两种方法,
阅读全文

浙公网安备 33010602011771号
