自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(242)
  • 收藏
  • 关注

原创 CodeChef Replay of Indian IOI Training Camp (IOITC) #1 简要题解

CyclesAndColorings先随便求出一棵生成树,去掉生成树的边之后:如果是二分图,那么原图是两个二分图组合起来的,假设第一个二分图中 iii 的颜色是 color1[i]color1[i]color1[i] ,第二个二分图中 iii 的颜色是 color2[i]color2[i]color2[i] ,那么在总的图中颜色变成 2×color1[i]+color2[i]2×colo...

2018-06-27 20:48:40 518

原创 LOJ #562. 「LibreOJ Round #9」Tangjz 的背包

链接:link题解:记 P=998244353,r=19190506,q=1rP=998244353,r=19190506,q=1rP = 998244353, r = 19190506, q = \frac{1}{r} ,那么答案就是 rp−m[xm]∏n−1i=0(1+qix)rp−m[xm]∏i=0n−1(1+qix)r^{p-m} [x^m]\prod_{i=0}^{n-1...

2018-06-19 17:19:00 863

原创 Atcoder Grand Contest 025 简要题解

Digits Sum暴力。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb push_back#define Debug(...) fprintf(stderr, __VA_ARGS__)typ...

2018-06-11 17:08:43 521

原创 CodeForces Gym 101821 简要题解

Smart Vending注意到策略其实是没有用的,所以需要想一种办法加速模拟。注意到纸币价格只有 10610610^6 ,首先用硬币能买就买,之后的操作中,尽量多用纸币,这样可以将硬币数量控制在 10610610^6 以内,不断模拟下去一定会形成环,加上记忆化就可以了。#include <bits/stdc++.h>using namespace std;#d...

2018-06-10 23:46:22 2931

原创 CodeForces Gym 101806 简要题解

Puyo Puyo首先把有奇数个东西的列用 [1,2],[2,2],[2,2][1,2],[2,2],[2,2][1, 2], [2, 2], [2, 2] 消成偶数个东西,然后依次放就行了。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp ...

2018-05-26 19:16:49 2322

原创 Atcoder Grand Contest 024 简要题解

Fairness:(A,B,C)(A,B,C)(A, B, C) 经过一次变换之后变成 (B+C,A+C,A+B)(B+C,A+C,A+B)(B + C, A + C, A + B) 再变换变成 (A+B+C+A,A+B+C+B,A+B+C+C)(A+B+C+A,A+B+C+B,A+B+C+C)(A + B + C + A, A + B + C + B, A + B + C + C) 。如...

2018-05-21 09:57:05 778

原创 SDOI2018 Round2 简要题解

Day 1物理实验转一下坐标系,扫描线,用set可以维护出每一段的最低位置能看到的线段的斜率,然后再双指针扫一遍就行了。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb push_back#...

2018-05-20 15:27:48 753

原创 CTSC 2018 简要题解

Day 1faceless记 f(i,j)f(i,j)f(i, j) 表示第 iii 个人当前血量为 jjj 的概率,那么每次锁定操作就是做一次背包。对于结界操作,我们需要对每个人 iii 处理出其他人有 jjj 个存活的概率,注意到这个dp是可逆的,所以求出总的之后暴力进行多项式除法即可。#include <bits/stdc++.h>using name...

2018-05-16 08:14:02 1834

原创 CTSC/APIO/THUPC2018 爆零记

CTSCDay 1看完题就知道出题人是谁了 然后正着开题,T1写了个分治背包,测了测极限数据发现very quick就没管了T2数据结构题,先打了个 454545 分暴力就跑路了,打算一会有空想想正解或者写写乱搞然后开T3,想了一会之后发现只要做 Li=1(i≠n)Li=1(i≠n)L_{i} = 1(i\neq n) 的情况就做完了,然后这个情况我打了个表好像没有什么规律...

2018-05-15 08:18:12 2013 3

原创 CodeForces 963E. Circles of Waiting

链接:link题意:有一个半径为 RRR 的圆,在上面随机游走,往四个方向走的概率给定,求期望多少步走出这个圆。R≤50R≤50R\le 50 。题解:暴力高消是 O(n6)O(n6)O(n^6) 的。从上往下高消,将已经消过的点标记成黄色,跟黄色相邻的点标记为绿色,其他点标记为黑色,考虑消当前点的时候,只有绿色的点和与它相邻的黑色点才会有当前点的系数,同时这一行也只有...

2018-04-20 21:08:37 639

原创 AHOI/HNOI2018 简要题解

hunt首先考虑计算一个表达式的答案,从后往前扫一遍,如果碰到 and0and0and\,0 答案就是 000 ,如果碰到 or1or1or\,1 答案就是 111 ,而其他东西对答案没有影响。不难发现如果将操作符也写成一个二进制数, andandand 是 111 , ororor 是 000 ,右边是最高位,那么答案为 111 当且仅当原数大于操作符写成的二进制数。预处理好排序之后...

2018-04-20 17:04:12 798

原创 CodeForces Gym 101773 简要题解

Remainder Game:将 nnn 按照二进制拆位,不难发现相邻的两个 111 会对答案产生 111 的贡献,之后就将它们消去了。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb push_ba...

2018-04-13 18:59:53 622

原创 LOJ 2476 「2018 集训队互测 Day 3」蒜头的奖杯

链接:link题解:定义 f(A)=A∗μf(A)=A∗μf(A) = A * \mu , g(A)i=∑ij≤nAjg(A)i=∑ij≤nAjg(A)_i = \sum_{ij\le n} A_j 。∑i∑j∑kAiBjCkD(i,j)E(i,k)F(j,k)∑i∑j∑kAiBjCkD(i,j)E(i,k)F(j,k)\sum_i \sum_j \sum_k A_iB_j C...

2018-04-10 11:32:06 1829

原创 Atcoder Grand Contest 022 简要题解

Diverse Word长度不是 262626 的时候,往后加第一个没出现过的字符就行了。否则找到最大的一个 iii 满足存在 j>i,sj>sij>i,sj>sij > i, s_j > s_i ,然后把最小的 sjsjs_j 换过来就行了。#include <bits/stdc++.h>using namespace std;#def...

2018-04-08 21:27:49 540

原创 SCOI2018游记

Day 1看完题只会T1,想了想链分治好难写于是大力上点分。写完发现 909090 MB,结果空间限制 646464 MB,差点被气死。往死里压了一波空间,把三个 O(nlogn)O(nlog⁡n)O(n\log n) 的值域 O(n)O(n)O(n) 的数组压成一个 long longlong long\texttt{long long},然后把线段树的左右儿子指针压成了一个 uin...

2018-04-07 19:31:41 2888 1

原创 2018 集训队互测 Day 1 简要题解

完美的队列:如果能求出每个加入的数在所有队列中都被移出去的时刻,那就可以很方便地计算答案了。对序列分块,先考虑整块的,更新跨过整个块的区间答案,记 bibib_i 表示队列要弹出当前的数需要的容量,那么每次操作实际上是对 bibib_i 进行区间减法,注意到大部分时候是对整块打标记,如果不是整块打标记直接暴力就行了。当 所有 bi<0bi<0b_iiii 合法的减去 iii 和...

2018-04-04 10:47:17 2220

原创 ZJOI2018 Day1 简要题解

line一个结论是, Lk(T)Lk(T)L^k(T) 的每个节点在原树上是一个不超过 k+1k+1k+1 个点的连通块。考虑用括号序列枚举所有不同的有根树,利用树哈希来去重,这样的树大概 100010001000 个,然后答案就是它的贡献乘上它在原树上的出现次数。在原树上的出现次数可以直接状压DP,可以加一个剪枝,就是叶子单独提出来最后用组合数计算,注意要除以自同构的方案数。一棵...

2018-03-24 21:44:01 1147

原创 UOJ #211. 【UER #6】逃跑

链接:link题解:E×all=∑(ai−ave)2×all=∑a2i×all−(∑ai)2E×all=∑(ai−ave)2×all=∑ai2×all−(∑ai)2E\times all = \sum (a_i - ave)^2\times all = \sum a_i^2 \times all - (\sum a_i)^2 记 f(i,x,y)f(i,x,y)f(i, x,...

2018-03-23 18:58:10 589

原创 CodeForces Gym 101754 简要题解

Letters Swap首先考虑如何判断合法,不难发现拿个栈能消就消一定是正确的。考虑分治,处理从 [l,mid][l,mid][l, mid] 和 [mid+1,r][mid+1,r][mid+1, r] 中选出数交换的合法方案数,记 AAA 表示 [1,l−1][1,l−1][1, l-1] 消完剩下的串, BBB 表示 [r+1,n][r+1,n][r+1, n] 消完剩下的串,枚举...

2018-03-15 21:17:57 648

原创 CodeForces 923F. Public Service

链接:link题意:给两棵树,求一个排列 ppp ,使得不存在 (i,j)(i,j)(i, j) 在第一棵树中有边且 (pi,pj)(pi,pj)(p_i, p_j) 在第二棵树中有边。题解:不难发现如果某棵树是个菊花图就无解,不然就有解。考虑化为子问题处理,分为三种情况:如果一棵树删去一个点之后是一个菊花图,那么找到那个点 vvv 以及跟它相连的 uuu 和跟...

2018-03-13 11:40:46 524

原创 CodeForces Gym 101745 简要题解

Police Patrol一定是不断放 1,2,⋯,k1,2,⋯,k1, 2,\cdots , k 和 2,3,⋯,k+12,3,⋯,k+12, 3, \cdots , k+1 ,这样 k+1k+1k+1 是一个循环节。#include <bits/stdc++.h>using namespace std;#define X first#define Y seco...

2018-03-05 20:57:02 716

原创 CodeForces Gym 101741 简要题解

Three Arrays:枚举 aiaia_i ,求出当前 bbb 的合法区间和 ccc 的合法区间,并且要求 bbb 中的数在 ccc 中的合法区间与枚举的 aaa 中的数的合法区间有交,然后用前缀和维护一下。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#...

2018-03-04 21:08:58 1283

原创 Atcoder Grand Contest 021 简要题解

Digit Sum 2:如果 NNN 除了最高位全是 999 答案就是 NNN 的数位和,否则让 NNN 最高位减 111 其他位全是 999 。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb pu...

2018-02-26 10:08:50 621

原创 AtCoder Petrozavodsk Contest 001 简要题解

A:答案是aaa或者−1−1-1。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb push_back#define Debug(...) fprintf(stderr, __VA_ARGS__)...

2018-02-18 19:00:44 716

原创 WC2018游记

Day 0:报道日开幕式没有dzd差评看完开幕式耳朵瞎了回到宿舍发现插座没电感觉没什么救据说有一道交互,怕又是假交互(毒奶Day 1:上午lzz讲课,开头还好,后面内容就开始魔幻了到Page Problem的相关内容开始掉线,不过后面又强行连了上来下午myy讲课全程听故事,成功避免了冬眠(雾这一天最大的错觉是今年冬令营或许能听(fl ag试机没题就咕...

2018-02-11 21:44:06 1867 1

原创 CodeForces 914H. Ember and Storm's Tree Game

链接:link题意:两个人玩游戏,第一个人首先选择一棵nn个点且度数不超过dd的树TT,然后第二个人选择一条路径(u,v)(u≠v)(u, v)(u\neq v),记为a1,a2,⋯aka_1, a_2, \cdots a_k,然后第一个人选择1≤ik1\le i 并从下面两项选择一项执行:翻转a[i+1⋯k]a[i+1\cdots k],并让这一段整体加上aia_i。将a

2018-01-21 17:42:22 660

原创 HDU 6056 simple counting problem

链接:link题解:一种暴力的想法是容斥,那么答案为∑S(−1)|S|(n−∑j∈S(bj−c+1)+m−1m)\sum_{S} (-1)^{|S|}\binom{n-\sum_{j\in S}(b^j-c+1)+m-1}{m}令f(x)=(xk)f(x) = \binom{x}{k}将它变成kk次多项式,那么由斯特林数容斥得f(x)=∑ki=0(−1)k−i[ki]xik

2018-01-19 20:21:38 786 4

原创 Atcoder AGC020 F - Arcs on a Circle

链接:link题意:有一个长度为CC的环,有NN个圆弧,长度为LiL_i,将它们任意放置,求所有位置都被至少一个圆弧覆盖的概率。题解:为了方便,取LL最大的圆弧的放置位置的左端点作为原点。记其他圆弧的放置位置为Xi=Pi+FiX_i = P_i + F_i,其中Pi=⌊Xi⌋P_i = \lfloor X_i \rfloor,可以认为PiP_i是[0,C)[0,

2018-01-15 18:40:52 763

原创 TopCoder SRM 727 简要题解

OnlySanta分类讨论。#include using namespace std;#define X first#define Y second#define mp make_pair#define pb push_back#define Debug(...) fprintf(stderr, __VA_ARGS__)typedef long long LL;t

2018-01-11 15:09:25 700

原创 CodeForces 908 简要题解

New Year and Counting Cards翻元音和奇数。#include <bits/stdc++.h>using namespace std;#define X first#define Y second#define mp make_pair#define pb push_back#define Debug(...) fprintf(stderr, __VA_ARGS__)t

2017-12-31 13:40:59 447

原创 Topcoder SRM 726 Hard

链接:link题意:有NN个任务,可以在[starti,finishi][start_i, finish_i]这段时间内完成,完成了能获得costicost_i的收益,每个时间最多完成一个任务,问最大收益。题解:不难发现这是个拟阵,所以可以从大到小排序之后贪心。考虑对于一组区间,如何判断它是否合法也可以贪心:从左到右扫,每个位置安排rr最小的点,记为rir_i,如果不存在ri=INFr_i = IN

2017-12-20 20:23:58 781

原创 CodeForces Gym 101620简要题解

Assignment Algorithm模拟。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x)#define mcpy(x, y) memcpy(x, y, si

2017-12-15 14:06:34 1698

原创 CodeForces Gym 101630简要题解

Archery Tournament经过每条竖线的圆至多logC\log C个,线段树套set\texttt{set}维护。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeo

2017-12-11 19:19:21 1974

原创 清华集训2017补题

Day 1tree首先考虑m=1m=1怎么做,显然∑di=2n−2\sum d_i = 2n-2,我们不管它。记bib_i表示ii在prufer\texttt{prufer}序列中出现次数,那么有ans=(2n−2)(n−2)!∏ni=1ai∑∑ni=1bi=2n−2∏ni=1abii(bi+1)bi!ans = (2n-2)(n-2)!\prod_{i=1}^n a_i\sum_{\sum_{i=

2017-12-09 14:13:20 976 1

原创 清华集训2017滚粗记

Day 0很早就到了,然后就被众人教育,晚上连营AK杀被wzd、yql教育,去找wyy换衣服又被wyy和dwj教育。虚心接受教育之后就回去了。Day 1考得最崩的一天。开场看完题发现T1是个原题加强,T2只会状压的部分分,T3是个裸分块但是要写挺久的,于是决定先开T1。开了T1半个小时之后发现毫无思路,式子并不能像原题做法那么化简,就扔掉去写T3。写完T3已经过了挺久了,改了一堆bug之后终于过了第

2017-12-08 23:14:21 3035 5

原创 Atcoder Codefestival Exhibition/Team Relay/Tournament Round 简要题解

ExhibitionAwkward考虑容斥,至少某些限制不满足。把不满足的边画出来,发现是若干条不相交路径,DP即可。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x

2017-12-01 08:18:19 475

原创 Atcoder CODE FESTIVAL 2017 Final 简要题解

AKIBA模拟。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x)#define mcpy(x, y) memcpy(x, y, sizeof x)using n

2017-11-28 11:43:53 942

原创 CodeChef BINOMSUM

链接:link题意:有TT天,每天有KK个小时,第ii天有D+i−1D+i-1道菜,第一个小时你选择LL道菜吃,接下来每个小时你可以选择吃一道菜或者选择AA个活动中的一个参加,不能连续两个小时吃菜,问每天的方案数之和。K,AK, A预先给定,QQ次询问,每次给D,L,TD, L, T。题解:将ans=∑D+T−1i=D(iL)F(i)ans = \sum_{i=D}^{D+T-1} \binom{i

2017-11-25 15:26:53 447

原创 CodeForces 891 简要题解

A. Pride如果有11答案是nn减去11的个数。如果gcdgcd不为11显然无解。否则求出最短区间[l,r][l, r]满足gcd=1gcd = 1,答案是r−l+n−1r - l + n - 1#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back

2017-11-18 20:21:31 1092

原创 CodeForces Gym 101615简要题解

Odd Palindrome签到。#include <bits/stdc++.h>#define xx first#define yy second#define mp make_pair#define pb push_back#define mset(x, y) memset(x, y, sizeof x)#define mcpy(x, y) memcpy(x, y, sizeof x

2017-11-16 20:27:39 1245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除