cf
Zaller
acm退休,考研ing...
无偿给同校学弟学妹们解答;
博客若有看不懂的或者不对的地方,直接私信我就行(如果我回复晚了,对不起都是我的错);
不用太客气等我回复,有问题直接私信发:)
ps: 随缘上线
展开
-
Codeforces Global Round 11
目录A. Avoiding ZeroB. Chess Cheater · 贪心C. The Hard Work of PaparazziD. Unshuffling a DeckE. XumF. Boring Card GameG. One Billion Shades of GreyH. Prison Break题目链接https://codeforces.com/contest/1427A. Avoiding Zero#include <bits/stdc++.h>using原创 2020-11-13 21:44:13 · 377 阅读 · 0 评论 -
CodeForces 1307
目录A. Cow and HaybalesB. Cow and FriendC. Cow and MessageD. Cow and FieldsE. Cow and TreatsF. Cow and VacationG. Cow and Exercise题目链接:https://codeforces.com/contest/1307A. Cow and HaybalesB. Cow and FriendC. Cow and MessageD. Cow and FieldsE. Cow a原创 2020-11-07 21:35:02 · 167 阅读 · 0 评论 -
Educational Codeforces Round 13 E. Another Sith Tournament · 概率
题解题意:1~n号斗殴,赢的人和剩下未出场过的人继续斗殴,1号可以自由安排出场顺序,问1号活到最后的概率之前看错题意了,想了半天概率为啥是max而不是求和,出场顺序会影响1最终获胜的概率,因为顺序是自己定的,而1号又会为了能够活到最后,肯定是采用获胜概率最大的出场顺序,所以最终的概率是定的,只是不知道是何种方式产生的,就像背包问题只需要知道最大价值而不需要具体方案,用 max 就能找到最优解...原创 2020-04-30 22:24:32 · 191 阅读 · 0 评论 -
Codeforces Round #330 (Div. 2) D. Max and Bike · 二分 + 数学
题解题意:半径为 rrr 轮子以速度 vvv 匀速地从起点 sis_isi 滚到 终点 fif_ifi,边缘有个传感器,传感器横坐标与 sis_isi 相同时开始计时,横坐标与 fif_ifi 相同时停止计时,问最少用时半径为 rrr 的轮子前进 xxx m,圆心角转动 xr\frac{x}{r}rx m根据上图所示f−s=x+rcos(π−θ)+rcos(θ+xr)=x−...原创 2020-04-26 18:07:30 · 175 阅读 · 0 评论 -
Codeforces Round #330 (Div. 2) C. Warrior and Archer · 博弈
题解题意:战士和射手两者对战,战士希望两者间的距离越近越好,射手希望两者间的距离越远越好,n个位置轮流禁位,直到最后剩下两个空位,问两者之间的距离假设最后只剩下两个位置 lll 、rrr,那么 [l,r][l,r][l,r] 外的点肯定是战士禁掉的,[l,r][l,r][l,r] 内的点肯定是射手禁掉的,满足被禁掉点有 n−2n-2n−2 个就行了,如果有多个满足的点对,找距离最近的ps:据...原创 2020-04-26 17:26:58 · 156 阅读 · 0 评论 -
Codeforces Round #330 (Div. 2) B. Pasha and Phone · 数学
题解题意:长度为 nnn 的数被分成 kn\frac{k}{n}nk 块,要求每一块 iii 的都能被 aia_iai 整除,且不能是以 bib_ibi 开头,问满足要求的数有多少种在 1∼x1\sim x1∼x 之中,能被 ppp 整除的数有 ⌊xp⌋\left\lfloor\frac{x}{p}\right\rfloor⌊px⌋ 个,如果有0,答案 +1每一块 kkk 位数,能被...原创 2020-04-26 17:08:32 · 135 阅读 · 0 评论 -
Codeforces Round #234 (Div. 2) D. Dima and Bacteria · 并查集+Floyd
题解题意:n个集合,在满足集合内各个点的距离为0的条件下,求集合间的最短路#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;const int INF = 0x3f3f3f3f;int c[N];int n, m, K;int fa[N];int d[505][505];in...原创 2020-04-14 22:32:14 · 144 阅读 · 0 评论 -
Codeforces Round #234 (Div. 2) C. Inna and Huge Candy Matrix · 模拟
题解题意:n,m的矩形,连续x次顺时针旋转,连续y次水平翻转,连续z次逆时针旋转,告诉你q个点原来的位置,输出最终的位置旋转的过程中n,m会交换,暴力模拟过程#include <bits/stdc++.h>using namespace std;int n, m, N, M;int x, y, z, p;/* ---→ y轴 ↓ x轴 顺时针旋转90° (...原创 2020-04-14 21:16:38 · 158 阅读 · 0 评论 -
Codeforces Round #288 (Div. 2) E. Arthur and Brackets · 贪心
题解题意:告诉你n个左括号到它匹配的右括号的距离的范围区间,问是否存在合法的匹配的括号序列,如果有,需输出原序括号序列,优先想到栈,优先解决栈顶的元素更有利于匹配上每一对括号代码#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;int a[N], l[N], r[N];char ...原创 2020-04-03 17:12:08 · 151 阅读 · 1 评论 -
Codeforces Round #288 (Div. 2) C. Anya and Ghosts · 贪心
题解题意:女孩有一堆蜡烛,每点亮一个蜡烛花1秒,每个蜡烛照亮 ttt 秒,m个小鬼在午夜来拜访,每个小鬼的拜访时间 wiw_iwi 各不相同,每一次拜访女孩需要点燃至少 rrr 个蜡烛,蜡烛可以在提前点燃,问女孩最少要点燃多少根蜡烛假如蜡烛没有达到 rrr 个,肯定是在小鬼到来之前的 wi−t∼wi−1w_i-t\sim w_i-1wi−t∼wi−1 时点燃蜡烛最优,统计在这个范围内还...原创 2020-03-31 22:20:33 · 188 阅读 · 0 评论 -
Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings · 容斥
题解题意:当两个全是数字的字符串,满足下标 i<ji<ji<j,si>wis_i>w_isi>wi , 且 sj<wjs_j<w_jsj<wj 时,算作1组符合条件的不可比的字符串,现给出两个字符串,其中部分位置是 ?\texttt{?}? ,代表 0∼90\sim90∼9 中任意一个数字,问符合条件的不可比的字符串有多少组学习来源...原创 2020-03-30 23:36:29 · 145 阅读 · 0 评论 -
Codeforces Round #260 (Div. 2) E.Civilization · 并查集 + 树的直径
题解题意:n个城市m条边,可能存在多个连通块,q个询问,两种操作:1.查询x城市所在的连通块的最长路,2.合并x所在的连通块和y所在的连通块学习博客↓codeforces 456 E. Civilization(并查集+数的直径)在这里,最长路 = 树的直径在查树的直径的同时进行并查集操作,可以优化时间要使两个树合形成的新的直径最小,一定是两个直径中点相连,新的直径长度 = max(...原创 2020-03-28 19:28:04 · 192 阅读 · 0 评论 -
Bubble Cup 9 - Finals [Online Mirror] D. Dexterina’s Lab · Nim + 概率 + 矩阵快速幂
题解题意:两个女孩玩Nim游戏,n个堆,每个堆的石子数均在0~x之间,石子数为i的概率是p[i],问先手能赢的概率Nim游戏的套路:对于一个Nim游戏的局面(a1,a2,…,an),当且仅当a1 ^ a2 ^ … ^ an=0,先手必败所以只要找出满足最后异或值为0的所有可能的概率ans,答案就是1-ans,不过n太大了,1e6,不可能枚举,所以从x入手,0~100的所有异或值最大不会...原创 2020-03-21 19:33:27 · 173 阅读 · 0 评论 -
Bubble Cup 9 - Finals [Online Mirror] E. Paint it really, really dark gray · dfs + 模拟
题解原创 2020-03-21 19:31:54 · 159 阅读 · 0 评论 -
Bubble Cup X - Finals [Online Mirror] G. Bathroom terminal · 枚举
题解原创 2020-03-18 22:25:49 · 163 阅读 · 0 评论 -
Codeforces Round #243 (Div. 2) B. Sereja and Mirroring ·暴力
题解题意:2x * y的矩阵a可以是由x * y的矩阵b不停地镜像对称得到,问b的x最小是多少n为奇数的时候显然不能再缩小,n为偶数的时候可以暴力判断一遍,这样最多判断log2(n)遍#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e3 + 10;int...原创 2020-03-18 20:24:37 · 115 阅读 · 0 评论 -
Bubble Cup 8 - Finals [Online Mirror] F.Bulbo · 贪心
题解题意:n轮游戏,每轮有一个区间的灯泡亮起,一开始人处在x的位置上,每轮游戏开始之前可以移动位置,代价是 ∣poxnew−posold∣|pox_{new}-pos_{old}|∣poxnew−posold∣ ,每轮游戏花费的代价是当前位置到最近的灯泡的距离,问n轮游戏后最小代价和Bubble Cup 8 finals F. Bulbo (575F)#include <bi...原创 2020-03-14 21:00:12 · 211 阅读 · 0 评论 -
Bubble Cup 8 - Finals [Online Mirror] H.Bots · 组合数
题解#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 2e6 + 10;const int mod = 1e9 + 7;ll n, m, K;ll qpow(ll a, ll b) { ll res = 1; while (b) { ...原创 2020-03-14 20:35:30 · 308 阅读 · 0 评论 -
Bubble Cup 8 - Finals [Online Mirror] D. Tablecity · 奇偶性
题解#include <bits/stdc++.h>using namespace std;int main() { ios::sync_with_stdio(0); printf("2000\n"); for (int i = 1; i <= 1000; ++i) { printf("%d %d %d %d\n",i,1,...原创 2020-03-14 20:25:51 · 143 阅读 · 0 评论 -
Bubble Cup 8 - Finals [Online Mirror] B. Bribes · LCA+树上差分
题解题意:n个地点,n-1条边,有单向也有双向的,给出k个连续到达的地点,允许路上逆行,但是要缴纳罚款,每次缴纳的罚款是上一次经过此地的两倍,问到达所有目的地的最小罚款金额诶,补题补题…看别人题解看到的,本题等价于问:一颗树,无向边边权0,有向边边权1,逆向行走会使边权*2,问最小的边权和做法:建图建双向边,方便树上统计,无向边正向边反向边边权都是0,有向边正向边设置1,反向边设置-1...原创 2020-03-14 20:07:02 · 145 阅读 · 0 评论 -
Codeforces Round #218 (Div. 2) Subway Innovation · 前缀和
题解题意:n个点里选k个点,使得这k个点两两距离之和最短先把n个点排个序,选出的k个点一定是连续的,转化为区间和问题,比较前一个区间 [l,r][l,r][l,r] 和后一个区间 [l+1,r+1][l+1,r+1][l+1,r+1], ...原创 2020-03-11 20:52:35 · 122 阅读 · 0 评论 -
1322B.Present · 二进制+二分
题解诶,补题补题结论题官方题解:代码学习来源 - 大佬博客第k位上要想有1,必须有奇数个的第k位为1的 ai+aja_i+a_jai+aj ,高于k位的位置不会对第k为产生影响,所以可以 mod 2k+12^{k+1}2k+1 去掉高位,只有当 ai+aja_i+a_jai+aj 处于[2k,2k+1)∪[2k+1+2k,2k+2−2][2^k,2^{k+1})∪[2^{k...原创 2020-03-09 20:30:15 · 358 阅读 · 0 评论 -
1322A. Unusual Competitions · 括号
题解题意:括号匹配,给一段括号,可以选择一段区间[l,r][l,r][l,r],交换其内部括号的位置使得这一段区间的括号是匹配的,代价是区间长度,问要使整个区间都是匹配的最小代价是多少官方题解:遇到 (((,就+1,遇到 ))),就 -1,找离-1最近的0的位置,就是这一段区间最小的代价#include <bits/stdc++.h>using namespace...原创 2020-03-09 19:25:58 · 251 阅读 · 0 评论 -
1323B. Count Subrectangles
题解题意:给你一个行矩阵a和一个矩阵b,都是01矩阵,问两个矩阵相乘得到的矩阵c里有多少个面积为k的全为1的矩形官方题解:只需要查看矩阵 [x1,x2][y1y2]\begin{bmatrix} x_1, x_2\end{bmatrix}\begin{bmatrix}y_1 \\y_2\end{bmatrix}[x1,x2][y1y2] 里,[x1,x2][x_1,x_2][...原创 2020-03-09 19:06:26 · 199 阅读 · 0 评论 -
cf153 B.Unsorting Array
题解题意:给n个数,可能有序可能无序,问是否可以交换两个数,使得数列无序,如果有,输出这两个数的下标,如果没有输出-1补题时间到:暴力修改相邻的两个不相同的数,如果修改之前,整个序列是有序的,修改后就会变成无序的,当前操作肯定正确如果修改之前,整个序列是无序的,假设修改之后整个序列无序,当前操作肯定正确假设修改之后整个序列有序,那么当前这两个相邻位置一定是唯一的使序列从有序变为无序的异...原创 2020-03-06 22:54:29 · 122 阅读 · 0 评论 -
Educational Codeforces Round 28 F. Random Query · 数学期望
题解题意:给n个数,任取一个区间,端点可以重合,每个区间被取到的概率是一样的,设每个区间的价值是其不同的数的个数,问整段区间的价值期望学习来源 · 大佬博客直通车记记笔记…在这道题里,期望 = 总价值 / 区间总数,因为 lll 和 rrr 是等概率随机的,所以区间也是等概率的,所以期望 E=∑xE=\sum xE=∑x区间价值*ppp(区间概率)=p∑x=总价值区间总数=p\sum...原创 2020-02-29 19:34:28 · 193 阅读 · 0 评论 -
Educational Codeforces Round 28 D. Monitor · 二分 + 前缀和
题解题意:一个n∗mn*mn∗m的显示器,如果k∗kk*kk∗k的正方形里所有的像素都是损坏的,则显示器立刻损坏,然后再告诉你qqq个点(x,y)(x,y)(x,y)会在 ttt 时间时损坏,问显示器完全损坏的时间范围很小,二分时间上界,可以看出来求得是最小的损坏时间,用前缀和暴力计算二维区间内损坏的点是否为k*k的正方形,因为t可以取到0,为方便统计,时间都+1,最后再减去即可...原创 2020-02-29 15:46:41 · 463 阅读 · 0 评论 -
Educational Codeforces Round 28 C. Four Segments · 前缀和 + 枚举
题解诶…比赛的时候写崩了…题意:有一种计算区间的方式:sum(l,r)sum(l,r)sum(l,r)表示区间[l,r)[l,r)[l,r)里的数字之和,现在往区间里插入三个点 d1,d2,d3d_1,d_2,d_3d1,d2,d3,且允许点重合,问 sum(0,d1)−sum(d1,d2)+sum(d2,d3)−sum(d3,n)sum(0,d_1)-sum(d_1,d_2)+s...原创 2020-02-28 23:19:08 · 189 阅读 · 0 评论 -
Educational Codeforces Round 28 B. Math Show · 暴力
题解噗,这个时间花费不按常理出牌,题意:nnn 个任务,每个任务都有 kkk 个子任务,任意挑选某一个子任务作为第 jjj 个,花费的时间为 tjt_jtj,每完成一个子任务获得1分,每完成一个大任务,再额外获得一分,问 MMM 时间内,最多能获得多少分题目说了,花费的时间和子任务本身没有关系,所以选择时间最短的 t 先填进任务,然后,暴力枚举M时间内,只有x个任务完成了,剩余的直接统计...原创 2020-02-28 23:05:50 · 353 阅读 · 0 评论 -
Educational Codeforces Round 28 A. Curriculum Vitae · LIS
题解给出一个01文本串,允许删除部分,使得整个文本串里1后面没有0,问最后的文本串最长有多长正解:LIS,最长不递减子序列…好滴吧,没想到啊…#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;int a[N],dp[N];int n, m, k;int main() { ...原创 2020-02-28 22:55:44 · 134 阅读 · 0 评论 -
Codeforces Round #421 (Div. 2) D. Mister B and PR Shifts · 思维
题解学习大佬每一次移动,∣pi−i∣|p_i-i|∣pi−i∣前后的变化就只有两种:+1 or -1因为整个式子都是往右循环移动,所以存在:如果 pi>ip_i>ipi>i,也就是 pip_ipi 在 iii 的左边,下一次移动就会带来 -1 的效果,用l表示还有多少个 pip_ipi 在 iii 的左边如果 pi≤ip_i\le ipi≤i,也就是 pip_...原创 2020-02-26 10:37:38 · 175 阅读 · 0 评论 -
B. Mister B and Angle in Polygon
题解如图,固定角的一边1-2,在取3 -> 6的过程中,角度依次增大题意给出正n边形和一个a,给正多边形的角标号1~n,任选正多边形上的三个点,使得 ∣∠v1v2v3−a∣min|\angle v_1v_2v_3-a|_{min}∣∠v1v2v3−a∣min,输出这三个角的编号,如果有多个,随便输一个#include <bits/stdc++.h>usin...原创 2020-02-26 08:39:57 · 175 阅读 · 0 评论