- 博客(41)
- 收藏
- 关注
原创 DAY 13
今日得分:20+20+70T1题目大意:题解:然而,我成功地调了一天这个代码,死活跑不过去,随机数据下表现还挺优异。最终要了数据发现跑的次数不对,定睛一看,发现……原代码:bool operator <(que x,que y){if(gx[x.l]!=gx[y.l])return dfn1[gx[x.l]]<dfn1[gx[y.l]];return dfn2[gx[x.r]]<dfn2[gx[y.r]];}改后代码:bool operator &l
2021-05-01 20:44:21
654
4
原创 Day 12
今日得分:25+100+20T1题目大意:给定一棵n个节点的树,节点编号为1~n,初始时每个节点都未被占领。两个人轮流操作,每人每步操作会占领一个未被占领的节点,直到所有节点都被占领为止。 定义树上两点的距离为它们之间最短路径的边数,所有操作结束后,游戏的分值为先手占领的所有节点两两间的最大距离。先手希望这个分值尽可能小,而后手希望这个分值尽可能大。如果两人都采取最优策略行动,请问游戏的最终分值是多少。n<=1e5。题解:AC代码:#include<iostream&g
2021-04-30 20:36:53
1141
5
原创 DAY 11
今日得分:90+0+0(T1卡常。。。)T1题目大意:你有两个字符串A和B。求A的子串中,有多少存在一个子序列,可以由B经过下列变换变为:对于一个字符串,每次取出开头的字符,将其插入到一个初始为空的双端队列的开头或结尾,最后双端队列从左到右形成的串即为变换后的串。|A|<=4096,|B|<=2048。题解:考虑每次考虑能匹配B的前i位的所有子串(l,r),不难发现对于每一个r,只有最近的l有贡献,l同理。于是扫一遍即可。时间复杂度O(nm)。(然而卡常,建议打表)AC代码:
2021-04-29 20:56:39
151
2
原创 DAY 10
今日得分:34+5+4(我每一天都以为今天的题是最毒瘤的,我每一天都感觉今天的题比前一天的毒瘤)(但貌似分数有所提升?)T1题目大意:L<=18,Q<=5e5题解:考虑分块维护,修改时维护后b位所有情况的值,询问时遍历前L-b位所有情况的值,取b=8,加上一些特判即可做到O(Q*2^8)的复杂度。需要卡常。某大佬的该题题解AC代码:#include<iostream>#include<cstdio>#include<cstr
2021-04-28 21:33:41
136
3
原创 DAY 9
今日得分:5+35+0(忘删调试了。。。)(好在比前两天加起来的分高)T1题目大意:定义排列的乘法如下:对于h=f*g,h[i]=g[f[i]](1<=i<=n)。求长度为n,且满足P^(m+1)=P的排列个数,要求m为满足条件的最小正整数。n<=15000,m<=1e9。题解:不难发现排列构成若干个置换环,满足要求的排列中,所有置换环长度的lcm等于m。考虑莫比乌斯反演(看到lcm就可以往这方面想了),问题变为求x为置换环长度的lcm的约数的排列个数。发现有贡献的x很少
2021-04-27 21:34:55
106
2
原创 DAY 8
今日得分:2+10+4(今天的T1和T3是原题,然而我并没做过,惨遭毒瘤。。。)(不过好像大家也没太写)T1题目大意:题解:T2题目大意:题解:T3题目大意:题解:
2021-04-26 21:29:39
123
2
原创 DAY 7
今日得分:0+7+10(惨)T1题目大意:给你一个平面直角坐标系,初始位置在(0,0),该点权值为1,每次顺时针找到第一个整点,该位置的权值为上一个点的权值+1,多组询问,每次询问在第一象限内的一个矩阵中所有整点位置的权值之和对2^63取模。坐标<=1e18,q<=1e6。题解:对于"-|",容易发现每一个"-|"的和是(2i+1)^3+(2i+1)^2+(i+1)(考虑每一个平方项i^2都是i个数的平均值,只需考虑最下面一行即可)。对于"|",我们可以先求出最底下一行的和,
2021-04-23 20:51:06
386
6
原创 DAY 6
今日得分:100+36+100(^_^)T1题目大意:有n个敌人,每个敌人有一个生命值w和攻击力s,有A+B个队友,其中A个每次能消灭一个生命值<xi的敌人,B个每次能消灭一个攻击力<yi的敌人,每人每次只能消灭一个敌人,问最少多少次能把所有敌人消灭,无解输出-1。n<=5e5,A,B<=5e4,1<=x,y,w,s<=2e9。题解:二分答案,将敌人按照w排序,问题转化为判断一个答案是否合法。从大到小看w,每次把xj>wi的Aj找出,计算总共找出的A能不
2021-04-22 20:35:53
184
4
原创 DAY 5
今日得分:100+10+0。(T2T3有点毒瘤)T1题目大意:给你一张n个点n条边的无向图,满足每条边形如(i,t[i],w[i]),两人轮流操作,每次可以选择一条未被选择的边,要求选择后已选择的边不能出现环,直到不能操作为止。先手希望选择的边权值之和最小,后手希望选择的边权值之和最大,求最终选择的边的权值最大。n<=1e5,t1<=[i]<=n,w[i]<=1e6。题解:容易发现,每条边最多在一个简单环中,且最终一定是在每个环中找出一条边不选,其余的边全选。于是我们可以
2021-04-21 18:13:21
637
8
原创 DAY 4
今日得分:100+20+0。T1题目大意:定义树T0为一个点,T[i]是将T[X[i]]的u[i]点和T[Y[i]]的v[i]点用权值为w[i]的边连起来得到,得到的T[i]中来自T[X[i]]的部分编号不变,来自T[Y[i]]的部分编号加上size[X[i]],对每棵树求树上每两点距离之和对1e9+7取模。n<=300,0<=X[i],Y[i]<i,w[i]<=1e9,u[i],v[i]<=1e18,保证每棵树的大小不超过2e18。题解:m很小,考虑把每个会作为u
2021-04-21 12:21:30
155
2
原创 DAY 3
今日得分:20+100+39(终于在考场上A题了)T1题目大意:给你一个长度为n的01字符串,定义(A*k)(k>=2)为S=A+A+…+A(k个A)的合法压缩,可压缩一个合法压缩串,两个合法压缩串连在一起也是一个合法压缩串。求给定01字符串的子集(与原串的与等于自身的串)的合法压缩方案之和对998244353取模的结果。n<=100。题解:每次枚举最后一段压缩的串,记忆化搜索强制全压缩的串和不强制全压缩的串,dp即可。状态数可以证明不是很多(上界是O(n^3+2^(n/8)),但这
2021-04-19 20:19:27
160
3
原创 DAY 2
今天得分:0+5+60(打表yyds!)T1题目大意:给你n种砖块,每种砖块有a[i]块。有两种操作,第一种是选定一个长度,消除这个长度的长度个砖块,若该长度砖块个数<长度, 那么只消除一个。第二种是选择一个砖块,将它拆成两个长度之和为原长度的砖块(两砖块长度非0且这两个砖块的长度至少有一个为奇数)。两人轮流操作,先不能操作的人输。问先手是否必胜。n<=1e6,a<=1e9。题解:把奇数和偶数分开来算,奇数部分的sg函数为所有奇数位置之和mod 2,每一个偶数位置的sg函数为
2021-04-17 21:14:54
240
4
原创 DAY 1
(某咕咕咕的人在咕咕咕了咕咕咕天之后,又准备开始写博客了)今天得分:30+0+0。T3算错了空间爆零了。。。T1题目大意:一个圆上有3n个不同的点,每个点都被染成了n种颜色中的一种。每种颜色恰好出现了3次。对每种颜色画一条圆弧,满足其两端点的颜色都是c且不经过另一个颜色为c的点。要求这n条圆弧互不相交。求画圆弧的方案数。n<=2e5题解:容易发现,该图最多选择的圆弧数为n,于是我们只需要求最大匹配的方案数,随便dp即可。关于环转化成链,我们只需要枚举第一个点的那种颜色选择圆弧的方法,就
2021-04-16 19:48:29
730
6
原创 CSP2019游记
CSP考完已经很久了,但感觉仿佛才刚刚考过。 回首自己这一段时间的生活,突然感觉有些恍惚。 我到底度过了什么? 大部分的人也许不会相信,九年级的学生居然还敢翘课,但我真的就这么做了。动不动就向老师们请假,出去整信息学竞赛;就算不出去,也是只上半天文化课,下午与电脑泡在一起,直至考试前夕。 Day -1 在机房度过的最后一晚,整个机房弥漫着颓...
2019-12-08 10:34:46
262
1
原创 结束&&新的开始
这一次北京的培训落下帷幕,暑假也已接近尾声。很快就要回到学校,肝文化课去了。这次培训,说实话,我感觉学到了很多,尤其是见识了许多其他地方的大佬神犇(例如oyyp,yyf,nyh,czz等等等等),了解到自己和他们的差距究竟有多大,同时也接触了很多自己以前闻所未闻的知识点。之后,我要回到日常的学习生涯中去了,对博客的更新可能会暂时暂停,以后如果有时间,我还会再更新一些博客,方便他人,方便自己...
2019-08-15 22:51:51
162
1
原创 北京Day 24
最后一天了。T1题目大意:定义一个区间的值为其众数出现的次数,给出n个数,求将所有区间的值排序后,第K大的值为多少。n<=1e5。题解:二分答案t,统计众数出现次数大于等于t的区间有多少个。枚举右端点R,计算左端点L最大为多少,使得区间[L,R]的值大于等于t,对于每个R他对答案贡献为L。通过线性扫一遍找出每一个数的前面第t-1个与他相同的数字,记其位置为b[i],若...
2019-08-14 21:08:23
276
原创 北京Day 23
T1 AGC011E题目大意:定义一个数是” 上升的”,当且仅当这个数的每一位数字不小于它的下一位数字。现在有一个数 N, 求 N 最少能拆成多少个” 上升的” 数的和。 N ≤ 1e500000。题解:打表,发现每次减去可以减去的最大的数,答案好像是对的。考虑对增长数进行分解: 我们定义形如 111...111 的数为“全一数”(特别地,0 也是全一数),那么显然任何一个增长数都...
2019-08-14 20:40:26
149
原创 北京Day 22
T1agc017f zigzag题目大意:写出 m 个长度为 n 的二进制序列,有一些形如“第 i 个的第 j 位 必须为 x”的限制 对于后面的二进制要 ≥ 前面的任意一个二进制。n,m<=20题解:每一个二进制只和和前面的一个二进制有关系,自然想到状压前面的一个二进制然后枚举当前的二进制再判断是否合法。考虑优化,如何判断两个二进制哪一个大哪一个小,发现有前面的若干位相同...
2019-08-12 20:31:09
143
1
原创 北京Day 21
今天接着颓废。T1题目大意:求m段区间的最大空隙。题解:其实这题卡读题,读懂了题就是一道大水题。T1AC代码#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<q...
2019-08-12 20:29:10
127
1
原创 北京Day 20
今天差点错过了考试……果然讨论题目到太晚第二天会起不来。T1题目大意:有一个 N 个节点的树,节点从 1 到 N标号,N − 1 条边中的第 i 条边连接节点 ai 和 bi。 开始的时候所有的边都是蓝色,每次操作包含以下步骤: 1. 选择一个只包含蓝色的简单路径,然后移除上面的一条边。 2. 在选出的蓝色简单路径的两个端点之间加一条红边。 问能否把树变恰好变成一棵每条边连接 ci , ...
2019-08-11 21:33:24
157
1
原创 北京Day 19
今天血亏。T1题目大意:对于给出的一个不保证合法的括号序列,交换括号的位置使得括号序列合法,问最少交换多少个?题解:送分题。统计未能匹配的括号个数,(x+1)/2即为答案。(然而写的暴力)T1AC代码#include<iostream>#include<cstdio>#include<cstring>#include<strin...
2019-08-11 21:11:28
105
1
原创 北京Day 18
今天极其颓废。T1题目大意:有一个长度为 n 的数组 A,计算出所有的子段和,总共 n*(n+1)/2 个子段,然后把这些结果排序,构成一个新的数组 B,下标从 1 到 n∗(n+1)/2 。有 Q 个询问,每一个询问给出 Li,Ri ,计算从 Bi 到 Bj 的和。n<=2e5,Q<=20,Ai<=100。题解:答案等于前j项和减去前i-1项和。对于原数组 A,当子...
2019-08-10 21:29:45
146
1
原创 北京Day 17
今天开始颓了。T1给定一个长度为 N 的只含小写英文字母的字符串 S0。令Si [j] 等于 Si−1[j] 或 Si [j − 1]。(Si [1] 总是等于 Si−1[1]) 现在给你字符串 S0 和字符串 T,你要确定最小的 i 使 Si 等于 T。如果 i 不存在输出 −1。n<=1e6。题解:每次的变换区间相当于一条折线。贪心去做,每次修改的折线尽可能靠右,如果与前面的...
2019-08-09 21:22:01
486
2
原创 北京Day 16
今天全场极惨.在此膜拜某位大佬,简单题不切,只切神题贴题解T1题目大意:有无穷多个卡牌排成一排, 依次编号为 1-N,开始x1,x2,x3……xn正面朝上, 其它的牌反面朝上。每次操作可以选择1个奇质数p , 然后选择连续p张牌, 将其翻转。问将所有牌变为反面朝上的最少操作次数。n<=100,xi<=1e7。题解:考虑差分,转换成点上的问题,一个点和下一个点不同则为...
2019-08-08 21:23:16
127
1
原创 北京Day 15
今天又是ACMOI赛制,网络流专场,A了3道题。在此贴出题目的题号。bzoj 1532bzoj 1934bzoj 4657bzoj 3275bzoj 2561bzoj 2229bzoj1797以及在网上没有找到的神题:阳阳做任务/Task(好像是集训队答辩2011的题,正解模拟费用流)由于题目过多,请读者自行搜寻题号,查阅题解。(以后有时间可能会回来填坑...
2019-08-08 20:46:20
131
1
原创 北京Day 14
今天是传说中的“ACMOI”(自己起的名字)赛制,只能提交一次,所有测试点捆绑在一起,不AC记0分。于是乎我就光荣地只拿了一道题。T1[POI2017]Turysta题目大意:给出 n 个点的有向图,任意两个点之间有且仅一条有向边。 对于每个点 v,求出从 v 出发的一条经过点数最多,且没有重复经过同一个点两次 及两次以上的简单路径。n<=2000。题解自己搜一下。T2...
2019-08-07 21:23:46
227
1
原创 北京Day 13
今日得分:85+0+0。T1题目大意:给定n个点n条有向边,保证每个点的入度和出度都为1,求随机选定k个点,从这k个点出发能遍历整个图的概率。答案对998244353取模。n,k<=152501。题解:显然题目给定的图结构是一个置换的若干循环,而每个循环只要分配 1 个点即可。我们可以预处理所有循环的大小,记为ai。其实这题存在乱搞做法。对于k比较小的数据可以背包,f...
2019-08-06 21:30:27
145
1
原创 北京Day 12
今日得分:100+0+60+0T1题目大意:把一个正整数n分解k次,每次得到的收益为分解得到的两个数的值的乘积,求最大收益。n,k<=1e9正解:打表找规律对于一种分解后的序列,任意两个数的乘积, 都会被计算到最终的收益中。于是我们可以得到这样一个式子:F n = x ∗ (x − 1) /2 设最终的收益为 P 则: P = F x −ΣF(li) 最小化后面的部分,...
2019-08-02 19:57:56
110
1
原创 北京Day 11
今日得分:100+100+(15or24)T1题目大意:对于1<=i<=n,求出∑max(0, ci −∣x − i∣^2 )。n<=100000,c<=10^12。正解:1.使用线段数据结构(树状数组、线段树)维护出每个位置的二次函数然后求值。2.考虑每个点对答案的贡献,差分T1AC代码#include<iostream>#incl...
2019-08-01 21:33:36
239
1
原创 北京Day 10
今天逆袭了。今日得分:100+100+30T1题目大意:给你一个正整数 N,对于 N 的一个整数拆分就是满足任意 m > 0, a1, a2, a3…am > 0,且 a1 + a2 + a3 + … + am = N 的一个 有序集合。 这个拆分的权值 Fa1Fa2…Fam,即:计 a1, a2, a3, ..., am 为拆分的 每区间的长度,这个拆分的权值为对应下标的...
2019-07-31 19:30:47
158
1
原创 北京Day 9
数学专场,本以为会垫底,然而T3数据出锅了……今日得分:100+10+0(忘输出样例了)T1题目大意:有 n 个数字,a[1], a[2],…, a[n]。有一个集合,刚开始集合为空。每次向集合中加入一个数字或者删除一个数字。 每次操作给出一个下标 x,如果 a[x] 已经在集合中, 那么就删除 a[x], 否则就加入 a[x]。 问每次操作之后集合中互质的数字有多少对。n<...
2019-07-30 21:34:34
117
1
原创 北京Day 8
调了一晚上T1,留坑待补今日得分:40+60+100T1题目大意:给出一个长度为 N 的序列 A[n]和 M 个操作,操作分为两种类型: 类型一,给出参数 l r k b 对于 l 到 r 之间(闭区间)的所有数 i ,令 A[i] = max(A[i],k*(i-l)+b ) 类型二,给出参数 l r, 求出 A[l] 到 A[r] 共(r-l+1)个数之中的最大值 n<=50...
2019-07-29 21:26:43
140
1
原创 北京Day 7
极其毒瘤的一天,全场十几个人爆零(包括我)。这里放一下题解。(由于题目过于毒瘤+填坑+加强自己出的题的数据并没有写代码)T1题目大意:有若干堆石子,要求每次在一堆数量不为1的石子堆中取出石子,假设这堆石子的个数是x,那么允许取的个数为正整数d,要求d|x且d≠x,没法再取石子的一方输。 游戏初始有m堆石子,每堆石子的个数均为1到n之间的正整数。问有多少种可能的初始状态先手一定能获胜(认...
2019-07-28 21:20:40
143
1
原创 北京Day 6
还行,今天状态还好(然而T2还是挂了)今日得分:100+30+40T1题目大意:两个人每人N匹马两两对决,赢了加分,输了扣分,平了不加不减,求其中一个人最好情况下的收益。题解:有n^2dp做法,然而还是贪心大法好。如果田忌的最快马比齐王最快马快,则二者比赛;如果慢,则最慢与最快比;如果相同,如果最慢有胜的可能,则先让它获胜,否则让它与齐王最快比。T1AC代码#incl...
2019-07-27 21:32:57
139
1
原创 北京Day 5
调代码时间过久+头晕,留坑待补。我来发题解啦T1题目大意:有N个菌落,按照一定的方式合并到一起,不同的合并路径会产生不同的代价,求最小的合并代价。N<=10。这道题打眼一瞅就是贪心……然而贪心只有30分。正解:记忆化搜索,记f[N] 每个节点的父亲都指向自己,合并时,将两个父亲指向自己的节点x y合并到一起,记公共父亲为min(x,y),f[x] = f[y] = min...
2019-07-26 21:29:12
118
2
原创 北京Day 4
昨天rank1(假),今天颓废日,自闭了。四道题,满分408,我的分刚赶上大佬的零头,血亏一百多分,两道题一共得五分,后面还玩啥。本来都不想写博客了,然而老师后来把数据和题解都发下来了,所以虽然很颓,还是要贴题解。T1题目大意:求1-n中所有数的约数异或和的异或和。n<=1e14。考场上写的O(sqrt(n)*log(n))的做法,但是写挂了。其实可以不用那个log。...
2019-07-25 21:32:57
164
2
原创 北京Day 3
今天T3数据出锅了,所有正解、非正解最高得分10分,终于赶上大佬们的分了。今日得分:100+100+10(其实是非正解70)T1 luoguP1903题目大意:给你一串长度为N的序列,需要支持M个操作:1.查询L到R中不同数字的个数。2.修改某一位数字n,m<=50000题解:有大佬写树套树,然而我并不会,好在带修莫队算法可以过。将所有询问操作按照左端点所在块,右端点...
2019-07-24 19:19:31
132
1
原创 北京Day 2
今天居然是二分专场,然而蒟蒻的我直到考后才发现,太惨了。今日得分:100+40+40话不多说,我们来看题。T1算术【问题描述】已知一个长度为 N+2 的序列 A[0],A[1],….,A[N],A[N+1], 这个数列满足如下条件: A[i] = (A[i-1] + A[i+1])/2 - D[i] (0<i<n+1)现在给出数列 D,A[0],A[N+1...
2019-07-23 19:47:54
175
1
原创 北京Day 1
今天,是我第一天在参加培训后写博客,以后也争取每天一篇博客。 上午比赛完电脑死机了,处理完再交程序的时候,没有点提交,导致第一次没有成绩。好在老师足够和蔼,帮我重测了一下,还重新发了一遍成绩单,好歹也算是有了成绩。 令人震惊的是今天居然是搜索专场,原来搜索题也可以这么毒瘤。今天成绩:60+10+20。(所有大数据都是输出的rand(),一分没有,怪不得今...
2019-07-22 20:26:50
273
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人