- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 D - Dinner Bet(概率论 dp 数学推导)
http://codeforces.com/gym/101174/attachments题意:给两堆c个球in[1,n],每次随机选出d个求in[1,n],将两堆球中出现在这d个球的球删去,某堆空时结束,问期望次数。解析:显然,将球分为4种,A:第一堆独有,B:两堆共有,C:第二堆独有,D,其他dp[I][J][K]表示ABC三堆分别已经有I,J,K个的期望步数。考虑一步:dp[I][...
2020-03-29 16:34:59 696
原创 H. In-degree(网络流 图论)
http://codeforces.com/gym/102419/problem/H题意:给出一个无向图,和每个点的入度(-1则不要求),使之变为有向图满足要求。解析:x到ep连边:流量为x的入度,花费-1sp到边连:流量为1,花费0边到两个端点连边:流量1,花费0如果x不要求:流量m,花费0这样保证花费最小的时候每个点都满足入度条件。方案输出为:查看反馈网络的流量,如果有流量,...
2020-03-28 16:59:54 973
原创 F. Attack on Red Kingdom(SG博弈 game 周期)
http://codeforces.com/problemset/problem/1312/F题意:给出n个数,有3种攻击方式,分别是选择一个正数减去x,y,z(n≤3e5,ai≤1e18,x,y,z≤5n\leq 3e5,a_i\leq 1e18,x,y,z\leq 5n≤3e5,ai≤1e18,x,y,z≤5)。对于一个数,第2种和第三种攻击不能对其连续实施。(上次使用第二种攻击的这...
2020-03-25 15:22:26 423
原创 C. Prefix Enlightenment(并查集)
http://codeforces.com/problemset/problem/1290/C题意:给出一个n长01串,m个位置集合,如果选中某个集合,会将集合中的所有位置进行翻转。问,对于i∈[1,n]i\in[1,n]i∈[1,n],求将前i位变为1的最少集合数量。保证可行。保证每个位置只出现在最多两个集合。代码:一位原来是0,那么说明需要1个集合。如果有两个集合只能选其一。也就是说...
2020-03-24 14:11:48 239
原创 K - Klingon Warfare(后缀数组 想法 子树相同)
https://vjudge.net/problem/Gym-101655K题意:给出两棵树,点上有字母,每个点的儿子之间有固定的顺序(先来的在左边)。问两棵树的最大siz完全相同子树的siz。解析:先建好树,考虑怎么压缩表示子树。两个子树完全相同当且仅当dfs序列相同。两个大串,即使有两个子串相同,也不一定是表示一个子树。所以我们加上类似括号的标识符:好处是匹配长度是字母长度的3倍,...
2020-03-21 17:19:22 193
原创 D - Delta Quadrant(树分治 树形dp)
题意:给一棵树,你选择一个点开始,将n-k个点vis后回到这个起点的最短时间。边权,每个点可多次访问。k最大20。解析:就是找出一个n-k个点的子图,使边权和最小。可以树分治,每次处理很简单,就是一个树形dp而已。dp[i][j]表示到点i,删除j个点的最少边权。代码:...
2020-03-21 17:05:41 242
原创 E. Nanosoft(dp)
http://codeforces.com/problemset/problem/1301/E题意:给出一个图,一个合格的正方形为左上角R,右上角G,右下角B,左下角Y,各占1/4。每次询问给出的长方形面积内的最大合格正方形。解析:数据结构想不出,dp做是水题。处理dp[i][j][len]dp[i][j][len]dp[i][j][len]以(i,j)为左上角len长度的正方形区域内的...
2020-03-20 14:50:18 143
原创 D. Reachable Strings(想法 哈希hash)
http://codeforces.com/problemset/problem/1320/D题意:给一个01串,每次询问两个子串是否可以转换。转换操作为不限次数的011与110互换。解析:对于一个串的0序列,再人任意次操作后,0序列的每个0的奇偶性都不会变化。所以可以hash0的奇偶性。(直接hash[i]=hash[i-1],如果是0再变化会比较方便,不需要lowerbound了)...
2020-03-18 16:15:58 210
原创 D. Happy New Year(dp)
http://codeforces.com/problemset/problem/1313/D题意:n个线段,对于所有线段,每个点至多被k个线段覆盖。现在选择一些线段,计算答案为被覆盖奇数次的点的数量。求最大值。解析:对于[L,R][L,R][L,R],将L和R+1加入vector后排序,然后逐个处理。维护dp数组,由于每个小段只会被覆盖K个大段,所以对于这些大段编号。如果到达新的大段...
2020-03-17 13:22:23 280
原创 E - A Floor of Many Doors(bfs 多队列)
https://vjudge.net/problem/Gym-102536E题意:给你一个nm图,D是门,从A到B的最短时间。开关附件的门需要1s,上下左右移动要1s。同一时间只能有最多k个门开着。解析:k最多50,所以可以x,y,d表示到点x,y已经开门d个的最少时间。当已经开k个门时,再开门需要把原来那个关上,相当于多1s时间变为3s。复杂度来说只能bfs做,这里的边权最多为3,所...
2020-03-16 13:38:01 507
原创 C.U.P.S.(构造)
https://vjudge.net/problem/Gym-102536B题意:给出一个n长01串,找出不超过n个01串,满足1的个数恰好为m,所有01串异或起来全部为1。解析:可以考虑将所有串分为两种:单个串使用,可以改变位数m。两个串一起用,可以改变位数为2m,2m-2,2m-4…。由于不要求最少,所以可以两个串改两个位置例如1111 10,1111 01。如果开始时剩余...
2020-03-16 13:31:04 285
原创 L. Lifeguards(平面几何 点平分成两边)
https://www.jisuanke.com/contest/7190?view=challenges题意:给出n个点,你要找两个点AB,使得存在一半的点到A近,一半的点到B近,如果n是奇数,则可以存在至多一个点到两个点一样近。解析:你要找一条线平方两边的点,然后随便找两个点AB水平对称于这条线即可。显然∣AY∣<∣BY∣,∣AX∣<∣BX∣|AY|<|BY|,|...
2020-03-15 11:39:26 347
原创 P5490 矩形面积并(扫描线 线段树)
https://www.luogu.com.cn/problem/P5490题意:给出多个矩形,求面积并解析:从下往上扫,遇到底边区间+1,遇到顶边区间-1,对于两条线中间的位置,我们已经知道了高度,通过线段树得到有效的宽度后就是面积了。有效的宽度为非0部分,在线段树中,我们采取标记持久化。对于一个段,如果标记非0,则有些长度为段长度,否则为两个儿子的长度和。递归下去就是区间内所有有效子...
2020-03-13 16:03:45 201
原创 E. Construct the Binary Tree(构造二叉树)
http://codeforces.com/problemset/problem/1311/E题意:构造一棵深度和为d的二叉树解析:先排成一条链,然后每次把最深的点往上提就行代码:/* * Author : Jk_Chen * Date : 2020-03-10-10.54.52 */#include<bits/stdc++.h>using namespa...
2020-03-10 14:18:47 223
原创 Crazed Boar(平面几何 象限角度区间)
https://vjudge.net/problem/Kattis-crazedboar题意:给n个圆的位置的半径,原点有个猪给出半径,会往随机方向移动d单位,问不会碰撞的概率。解析:dis表示圆心距离,rsum表示半径和分为4种:直接接触,dis<rsum无影响,d+rsum<dis跑完d后还能接触,d<sqrt(dis*dis-rsum*rsum),角度使...
2020-03-08 19:32:22 441 1
原创 Dance Circle(染色 奇偶性)
https://vjudge.net/problem/Kattis-dancecircle题意:n长01圈,告诉你n个区间的1的数量奇偶性,求方案数。解析:假设不是圈,告诉你区间[l,r][l,r][l,r]的奇偶性,相当于知道了l−1l-1l−1和rrr两个前缀的奇偶性是否相同。而我们可以假设全部的奇偶性,将越过端点的区间化作没有越过端点的区间。若左端点为0,就知道了r这个前缀的奇偶性。...
2020-03-08 19:12:58 217
原创 E. Cow and Treats(数学 方案数)
http://codeforces.com/problemset/problem/1307/E题意:n个草一列,m头牛,每头牛有喜欢的草和需要吃这种草的数量。吃饱后会变成路障。现在选择一些牛,分别从左往右吃和从右往左吃。如果一头牛遇到了路障或者走到尽头还是没有吃够它就会不高兴。想要选择尽可能多的牛使得他们都高兴,问你最大数量和方案数。解析:显然一边不会出现两个相同草的牛。假设枚举左...
2020-03-08 10:41:32 255
原创 Height Profile(线段树)
https://vjudge.net/problem/Gym-102500H题意:给出0~n点的海拔,求最长的线段,满足斜率大于等于k。可以是小数。解析:假设最后线段两头都不是端点(小数长度),那么这两条如果斜率一样,可以将一条减少,另外一条补满。如果不一样,一定有一条更优,那么这条多一些,另外一条少一些。最后还是一条布满了。所以最后的结果一定是一头停在端点上。假设现在斜率为k,那么两...
2020-03-08 09:27:54 710
原创 F. Kuroni and the Punishment(最少操作使gcd>1 概率问题 想法)
http://codeforces.com/problemset/problem/1305/F题意:有n个数,每次操作可以使某个数加一或者减一,使gcd>1的最少操作数量解析:我们可以O(n)求出,调整最后gcd为素数P的倍数的最少操作数。问题是这个P。由于素数2的存在,我们可以得出操作数至多为n。考虑现在将n个操作分配给n个数,所以可以得出结论:至少存在n/2个数,其最后变为i...
2020-03-05 16:44:54 595
原创 F2. Animal Observation (hard version)(线段树 dp)
http://codeforces.com/problemset/problem/1304/F2题意:n*m,每行可以放(往下)一个2行k列的长方形,问被覆盖的数字和最大是多少。(n≤50,m≤2e4,k≤mn\leq 50,m\leq 2e4,k\leq mn≤50,m≤2e4,k≤m)解析:考虑dp[i][j]dp[i][j]dp[i][j]为以(i,j)(i,j)(i,j)为左上...
2020-03-05 10:52:12 239
原创 L - River Game(博弈 SG函数)
https://vjudge.net/problem/Gym-102501L题意:L题是个游戏,N⋅NN\cdot NN⋅N网格中,有连通(上下左右)的星,每块连通的星会接触左边界和右边界,大小至多2N。两块连通的星的任意两个点之间距离至少为3。现在轮流放置照相机,需要接触星,接触同一块连通的星的照相机不能接触,x不能放置,问先手赢还是后手赢。解析:距离为3说明两个大块之间的game独立...
2020-03-01 17:00:33 755
原创 Is-A? Has-A? Who Knowz-A?(图论)
https://nanti.jisuanke.com/t/43372题意:类的继承,有两个关系a is-a b表示a是b的子类,a has-a b表示a有个b作为元素,关系可以继承。之后询问关系的正确性解析:用bitset维护出所有点的所有父亲和祖先,fa[i]has-a比较恶心,has-a会链式继承,并且可以继承fa的has-a。所以我暴力拓展边。每次加入has-a的has-a,和fa...
2020-03-01 16:36:34 253
mnist手写数字数字集
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人