2021.9.30 Codeforces 中档题四道】的更多相关文章

Codeforces 1528D It's a bird! No, it's a plane! No, it's AaParsa!(*2500) 考虑以每个点为源点跑一遍最短路,每次取出当前距离最小的点然后更新一圈周围的点,具体更新方法是:设 \(p\) 为当前这一轮我们取出的点,那么显然对于一条本来由 \(p\to q\),权值为 \(c\) 的边以及另一个点 \(r\),有 \(d_r\leftarrow\min(d_r,c+d_p+(r-q+d_p)\bmod n)\),直接松弛单次复杂度…
  记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序   1326D2 - Prefix-Suffix Palindrome (Hard version) 题意: 给出一个串 s, |s| ≤ 1e6, 要求选出一个前缀和一个后缀(不相交, 可以为空), 使得它们连接后是一个回文串. 求最长的回文串. 思路: 马拉车处理半径数组, 用前缀, 后缀, 半径与相同的前后缀相交的情况更新答案. view code #include <bits/stdc++…
2021.11.30 eleveni的水省选题的记录 因为eleveni比较菜,eleveni决定先刷图论,再刷数据结构,同时每天都要刷dp.当然,对于擅长的图论,eleveni决定从蓝题开始刷.当然,eleveni的神秘好友崇青云会监督eleveni刷题. 图论: [P1772 ZJOI2006]物流运输 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<cstdio> #include<iostream> #include<algorit…
2021.08.30 前缀函数和KMP KMP算法详解-彻底清楚了(转载+部分原创) - sofu6 - 博客园 (cnblogs.com) KMP算法next数组的一种理解思路 - 挠到头秃 - 博客园 (cnblogs.com) 练习题 求next典范代表 UVA455 周期串 Periodic Strings - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<cstdio> #include<iostream> #include<alg…
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1,每个数出现2~5次) [Codeforces441E]441E - Valera and Number:期望DP:(p%概率*2,(1-p%)概率+1,最后质因子中2的个数的期望) [Codeforces542E]542E - Playing on Graph:结论 + Bfs + Dfs:(用给定方式…
被DeepinC%怕了,把一些题放到这里来 T1Normal 其实这道题放到中档题也不太合适,个人感觉真的很难,机房里好像都是颓的题解 因为期望的可加性,把每个点的贡献单独处理,即求期望深度 考虑$y$对$x$的贡献:当且仅当$x->y$的路径上第一个点就选$y$,$y$才能成为$x$的祖先 所以$y$对$x$的贡献就是:$P=\frac{1}{dis(x,y)+1}$,$E=1$ 所以最终答案就是$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\frac{…
A. Chores time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Luba has to do n chores today. i-th chore takes ai units of time to complete. It is guaranteed that for every  the conditionai ≥ a…
题目链接:http://codeforces.com/problemset/problem/939/A A题 A. Love Triangle time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As you could know there are no male planes nor female planes. However…
Codeforces Round #371 (Div. 2) A. Meeting of Old Friends |B. Filya and Homework A. Meeting of Old Friends  模拟 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; typedef long long ll;…
当在Codeforces上做题的时,有时会无意撇到右侧的Problem tags边栏,但是原本并不希望能够看到它. 能否把它屏蔽了呢?答案是显然的,我们只需要加一段很短的CSS即可. span.tag-box{ display: none; } 这样,当这段CSS生效时,标签将会变成如下所示的样子. 这样目的就达到了. 那么,如何将CSS应用到浏览器中使其生效呢?对于不同的浏览器有不同的方法.下面以主流浏览器为例. 对于Safari,将上述代码另存为.css文件,然后在偏好设置->高级->样式…
发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C 给定一个\(n\)的可重复排列,要求你更换排列的顺序,使尽量多的数占领到比自己数值小的数的所在位置 (暂时没有tutorial,有空我会加上正解做法) 其实按题目硬上应该是尽量的排序后1位错排,可是对于复杂情况无法保证 那不如按照一定顺序观察规律,只关注答案 由于值是离散的而且无顺序相关,那就很好找…
说实话我觉得做这种题很没意思(不够硬核), 可是人有短板终究是要补的...起码这种类型补起来相对简单 所以还是把先前准备好的专题放下吧,做点实现上比较休闲的题 ps.为了精简篇幅,代码全部丢到ubuntu上 Codeforces - 483C 题意:给定\(k\),构造\(n\)的某一排列\(p\)满足\(|p_i-p_{i+1}|\)共有\(k\)种不同的值 做法:当\(k\)为\(n-1\)时,分奇偶前后插可满足情况,\(k<n-1\)时从\(k\)处开始排序可消除差异 https://pa…
最近决定写一些CF Div.1的题,练习一下速度和代码能力. 暂定从中考后的Codeforces Round #572开始. 大部分比较简单的题直接把题解写在这里,不单独开文章了. Codeforces Round #572 (Div. 1) Codeforces Round #573 (Div. 1) Codeforces Global Round 4 Codeforces Round #576 (Div. 1) A 省略 B 省略 Codeforces Round #580 (Div. 1)…
AGC024(5.20) 总结:猜结论,“可行即最优” B: 给定一个n的排列,每次可以将一个数移到开头或结尾,求变成1,2,...,n所需的最小步数. 找到一个最长的i,i+1,...,j满足在排列中的位置递增,这些数可以保留,答案就是n-(j-i+1). C: 给定一个数列A,初始数列X全为0,每次可以让X[i+1]=X[i]+1,求最少多少次能变成A. 首先特判掉A[1]>0和A[i+1]>A[i]+1的情况,然后如果A[i+1]=A[i]+1,那么只需要ans++,否则ans+=A[i…
Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) C. Magic Grid 这种题直接构造 数n是2的n次方的倍数的时候可以这样划分数 比如n是4的倍数  n=k*4 000        001         010         011 100        101         110         111 (k-1)00   (k-1)01   (k-1)10   (k-1)11 然后填格子 Codeforces R…
#include <stdio.h>#include <stdlib.h>#include <time.h> int main(void){ int i = 0; srand((unsigned)time(NULL)); //本地时间为种子 while(i<30) { int a = rand()%100; //产生随机数 int b = rand()%100; int j;   j = rand()%4; //产生随机符号0到3分别代表四则运算 printf(&…
题目背景 SOL君(炉石主播)和SOL菌(完美信息教室讲师)是好朋友. 题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数. 但是SOL菌太菜了于是请你帮忙. 输入输出格式 输入格式: 本题包含多组数据. 每组输入仅包含一行:两个整数n,k. 输出格式: 对于每组输入,输出一个整数:n!在k进制下后缀0的个数. 输入输出样例 输入样例#1: 10 40 输出样例#1: 2 说…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ30.html 题目传送门 - UOJ#30 题意 uoj写的很简洁.清晰,这里就不抄一遍了. 题解 首先建出圆方树.接下来,我们称"圆点"为原来有的点,"方点"为新增的点. 然后先只考虑在线询问如何做. ——把方点的值设置成所有与他连边的圆点的权值的最小值,直接在圆方树上树链剖分再套个线段树支持一下区间询问即可. 然后会发现这样做支持不了修改操作. ——直接来个菊花图不断修…
题目链接:http://www.codeforces.com/problemset/problem/281/A题意:将一个英文字母的首字母变成大写,然后输出.C++代码: #include <cstdio> #include <cstring> ]; void solve(char *s) { if (*s >= 'a' && *s <= 'z') *s -= ; while (*s) { putchar(*s); s ++; } } int main(…
题目链接:http://www.codeforces.com/problemset/problem/131/A题意:字符串大小写转换.C++代码: #include <cstdio> #include <cstring> ]; bool islow(char c) { return c >= 'a' && c <= 'z'; } char up(char c) { ; } char low(char c) { ; } bool check() { cha…
题目链接:http://www.codeforces.com/problemset/problem/339/A题意:重新组合加法字符串,使得按照1,2,3的顺序进行排列.C++代码: #include <iostream> #include <string> using namespace std; ]; string s, ans = ""; int main() { cin >> s; int len = s.length(); ; i <…
题目链接:http://www.codeforces.com/problemset/problem/112/A题意:忽略大小写,比较两个字符串字典序大小.C++代码: #include <cstdio> #include <cstring> int cmp(char *s, char *t) { while (*s) { ; ; ; ; s ++; t ++; } ; } int main() { ]; ]; scanf("%s%s", s, t); print…
题目链接:http://www.codeforces.com/problemset/problem/96/A题意:判断一个0-1字符串中出现的最长的0字串或者1字串的长度是否大于等于7.C++代码: #include <cstdio> #include <iostream> #include <string> using namespace std; string s; ; bool chk() { int len = s.length(); ; i < len;…
题目链接:http://www.codeforces.com/problemset/problem/118/A题意:字符串转换……C++代码: #include <string> #include <iostream> using namespace std; string s; bool _in(char c, string s) { ; i < s.length(); i ++) if (c == s[i]) return true; return false; } in…
题目链接:http://www.codeforces.com/problemset/problem/71/A题意:将长字符串改成简写格式.C++代码: #include <string> #include <iostream> using namespace std; int n; string s; int main() { cin >> n; while (n --) { cin >> s; ) cout << s[] << s.…
题目链接:http://www.codeforces.com/problemset/problem/327/A题意:你现在有n张牌,这些派一面是0,另一面是1.编号从1到n,你需要翻转[i,j]区间的牌一次,使得看到的牌是1的数量最大.C++代码: #include <iostream> using namespace std; ; int n, a[maxn], sum[maxn]; int flip(int L, int R) { ]; - a1; //cout << &quo…
题目链接:http://www.codeforces.com/problemset/problem/155/A题意:找到当前最大值或者最小值出现的次数.“当前”的意思差不多是a[i]大于所有a[j](j小于i)或者大于所有a[j].C++代码: #include <iostream> using namespace std; ]; int main() { cin >> n; ; i < n; i++) cin >> a[i]; ], High = a[], cn…
题目链接:http://www.codeforces.com/problemset/problem/509/A题意:f[i][1]=f[1][i]=1,f[i][j]=f[i-1][j]+f[i][j-1],求f[n][n].C++代码: #include <iostream> using namespace std; ][]; int main() { cin >> n; ;i<=n;i++) f[i][] = f[][i] = ; ; i <= n; i ++) ;…
题目链接:http://www.codeforces.com/problemset/problem/25/A题意:在n个书中找到唯一一个奇偶性和其他n-1个数不同的数.C++代码: #include <iostream> using namespace std; ; , y = -; int main() { cin >> n; ; i <= n; i ++) { cin >> a; == ) x = (x == -) ? i : -; else y = (y =…
题目链接:http://www.codeforces.com/problemset/problem/268/A题意:足球比赛中如果主场球队的主场球衣和客队的客队球衣颜色一样,那么要求主队穿上他们的可对球衣,现在有n个球队,每一球队的主场球衣和客场球衣的颜色都告诉你了,它们两两之间要比一场赛.求其中主队穿客场球衣的比赛场数.C++代码: #include <iostream> using namespace std; ; int x[maxn], y[maxn], n, ans; int mai…