Codeforces
早晨OvO
这个作者很懒,什么都没留下…
展开
-
dp-2019-2020 ICPC Southeastern European Regional Programming Contest (SEERC 2019)-B. Level Up
题目链接题意:有n件事,经验到a1时升第一级,经验到a2时升第二级每个经验有x1,t1,x2,t2四个值x1,t1分别表示升第一级前做这件事可得经验和所需时间x2,t2分别表示升第一级后做这件事可得经验和所需时间求升第二级时所需的最小时间1≤n,a1,b1≤5001≤x1,x2≤5001≤t1,t2≤1e9思路:dp[j][k]表示升第一级前经验到j,升第一级后经验到k所需时间对于第i件事:升级前做这件事 dp[j+x1][k]=min(dp[j+x1][k],dp1[j][k]+原创 2020-07-09 10:26:06 · 528 阅读 · 1 评论 -
三分-Codeforces-1355E-Restorer Distance
题目链接题意:给n个数,有三种操作:1.任选一个数+1 花费为a2.任选一个数-1 花费为b3.任选两个数,一个-1,一个+1 花费为c问至少花费多少能将这n个数变成一样大的 每个数都要大于等于0数据范围:1≤n≤1e5, 0≤a,b,c≤1e40≤a[i]≤1e9思路:首先需要想到最终变成的数肯定在0~1e9之间然后 在某个数时花费存在最小值,其他的数离这个数越远,花费就越大然后就变成了一个凹函数 找极小值 用三分法对于某个数y 判断所有原创 2020-05-21 23:24:30 · 209 阅读 · 0 评论 -
想法-Codeforces-1355C-Count Triangles
题目链接题意:给四个正整数abcd,a≤x≤b≤y≤c≤z≤d问x y z有多少种选择方式可以组成一个三角形思路:x+y可能的值:minn=a+b,maxx=b+c然后枚举x+y的值计算x+y取该值时,z可取的数目,x和y可组合成该值的对数ans += z可取的数目*x和y可组合成该值的对数求x和y可组合成该值的对数的方法:maxxx = min(i - b, b);minnx = max(i - c, a);maxxy = min(i - a, c);minny = max(i原创 2020-05-20 20:47:46 · 227 阅读 · 0 评论 -
dp-Codeforces-1353F-Decreasing Heights
题目链接题意:一个n*m的矩阵,每个格子有一个高度。要从(1,1)走到(n,m)每次只能往上下左右走,且只能走到比当前格子高度大1的格子刚开始可以执行操作:将任意一个格子高度-1 格子高度可以小于等于0问至少执行多少次操作可以从(1,1)走到(n,m)思路:枚举(1,1)处可能的高度:aij-j-i+2然后dp代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[105][105原创 2020-05-20 20:14:16 · 154 阅读 · 0 评论 -
想法-Codeforces-1313C2-Skyscrapers (hard version)
题目链接题意:n座楼,每个楼有一个最高高度a[i],要求每座楼左右两侧不能同时有比他高的楼,输出所有楼的高度之和最大时,每座楼的高度思路:依次判断每座楼为最高的楼时,所有楼的最大高度之和,记录最大值最高楼的位置,然后依次得出每座楼的高度对于每座楼,需要找到它左边最大高度之和及右边最大高度之和a[i]为最高楼时,如果a[i]>=a[i-1],那么l[i]=l[i-1]+a[i]如...原创 2020-03-12 09:34:39 · 324 阅读 · 1 评论 -
贪心 构造-Codeforces-1305E-Kuroni and the Score Distribution
题目链接题意:给出两个整数n,m(1≤n≤5000,1≤m≤10^9)找到一个长度为n的递增序列,满足ax+ay=ak恰好有m对思路:首先前面的数从1开始,每次加1往后填那么每个数的贡献(k=i时的对数)分别是0 0 1 2 2 3 3…即(i-1)/2当发现某一位数如果ai=i时,对数超过了m那么判断当前还差多少对,让ai的贡献只满足最后几对即可假设当前还差x对,那么ai应该等...原创 2020-03-12 09:29:54 · 151 阅读 · 0 评论 -
数学-Codeforces-1316C-Primitive Primes
题目链接题意:f(x)=a0+a1 x+a2 x^2+…+an x ^ (n-1)g(x)=b0+b1 x+b2 x^2+…+bn x ^ (n-1)h(x)=f(x)g(x)=c0+c1 x+c2 x^2+…+cn x ^ (n-1)给出a0,a1,…,an b0,b1,…,bn 和一个质数p任意找到一个cx%p!=0(保证存在)思路:c0=a0+b0c1=a0b1...原创 2020-03-12 09:22:02 · 240 阅读 · 0 评论 -
数学-Codeforces-1305C- Kuroni and Impossible Calculation
题目链接容斥原理:题意:给出a1,a2,a3,…,an计算|a1-a2||a1-a3|…|a1-an||a2-a3||a2-a4|…*|an-1-an|%m的结果思路:因为是对m取余后的结果ax%m的结果一定在0~m之间,有m+1个可能所以当n大于m的时候 一定会存在两个a%m结果相同所以一定会存在|ax-ay|%m=0因此n大于m的时候结果为0代码:#include <...原创 2020-03-12 09:03:17 · 139 阅读 · 0 评论 -
贪心 字典树-Codeforces-1285D-Dr. Evil Underscores
题目链接题意:给定n个数,任意找一个数x和这n个数异或求 异或运算以后这n个数中最大的数 最小是多少思路:一开始一直在想怎么找x了…结果看了别人的博客发现这种思路是走不通的…应该直接去求最后的结果把这n个数的二进制建立一棵01字典树存储起来,如果一个节点同时存在1子节点和0子节点,那么异或后这一位应该是1,否则应该是0...原创 2020-03-02 17:21:53 · 130 阅读 · 0 评论 -
贪心 dp-Codeforces-1286A-Garland
题目链接题意:有n个数字分别问1~n,将这n个数字排成一个序列,如果序列中数字为0,代表该位置的数字未知,否则该位置的数字确定。如果相邻的数字奇偶性相同的话,那么算为一段,求该序列可能的最小段数。思路:以下给出(贪心)和dp两种做法…贪心还是别看了这道题题目中标了dp和greedy,然后我就毫不犹豫的往贪心上想…然后得出了贪心写法(我都不知道这是什么鬼思路,我瞎写了两百行代码错了好几次...原创 2020-01-09 23:18:44 · 499 阅读 · 0 评论 -
数学 想法-Codeforces-1244E Minimizing Difference
题目链接代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 100005, maxm = (1 << 20) + 5;#define INF 0x3f3f3f3fconst long long mod = 1000000007;/******...原创 2019-10-21 19:24:47 · 123 阅读 · 0 评论 -
数学-Codeforces-1244C-The Football Season
题目链接代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 100005, maxm = (1 << 20) + 5;#define INF 0x3f3f3f3fll gcd(ll c, ll d){ ll h; ll k =...原创 2019-10-15 19:49:48 · 173 阅读 · 0 评论 -
想法-Codeforces-1238C-Standard Free2play
题目链接题意太难懂了…之后再补思路吧,先放代码代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 200006, maxm = (1 << 20) + 5;int a[maxn];int main(){ int t; sca...原创 2019-10-15 01:37:12 · 302 阅读 · 0 评论 -
想法-Codeforces-1238D-AB-string
题目链接之后再补思路,先放代码代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 300005;char s[maxn];int main(){ ll n, i; scanf("%lld", &n); scanf("%s...原创 2019-10-15 01:33:19 · 252 阅读 · 0 评论 -
状压 dp-Codeforces-1238E-Keyboard Purchase
题目链接之后再补思路,先放代码代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 100005, maxm = (1 << 20) + 5;char s[maxn];int dp[maxm], cnt[21][21], dis[21][21]...原创 2019-10-15 01:26:48 · 223 阅读 · 0 评论 -
状压 dp-Codeforces-1234F-Yet Another Substring Reverse
题目链接之后再补思路,先放代码吧代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1000006, maxm = (1 << 20) + 5;char s[maxn];int dp[maxm], vis[22];int main(){...原创 2019-10-15 01:22:39 · 215 阅读 · 0 评论 -
想法 vector-Codeforces-1234E-Special Permutations
题目链接之后再补,先放代码代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 200050;ll a[maxn], pos[maxn]; //pos[i] 表示数字i在集合中的位置vector<int> v[maxn]; //v[i][j...原创 2019-10-15 01:14:18 · 164 阅读 · 0 评论 -
vector set 二分-Codeforces-1234D-Distinct Characters Queries
题目链接之后再补,先放代码代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 100005, maxm = 0;char s[maxn];vector<set<int> > v(26); //26个vector数组//每个vec...原创 2019-10-15 01:08:27 · 124 阅读 · 0 评论 -
map-Codeforces-1234B2-Social Network (hard version)
题目链接题意:依次收到n条短信,每条短信来自一个id,有重复id,手机最多能存k个人的短信。如果手机id达到k个以后,新来的id短信如果手机里没有,那么它会把最前面那个id的短信给替换掉。如果新收到的短信id手机里已有该id,那么手机中的id顺序不会变。如果手机中的id顺序更新,那么新来的短信id总是在最前面。问最终手机中短信的id顺序(从前到后)。思路:这道题与B1的区别就是,数据范围...原创 2019-10-15 00:29:27 · 187 阅读 · 0 评论 -
贪心-Codeforces-1197C Array Splitting
C. Array Splittingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a sorted array a1,a2,…,an (for each index i>1 condition ai...原创 2019-07-31 11:50:11 · 203 阅读 · 0 评论 -
二分-Codeforces-1169C Increasing by Modulo
补一下昨天晚上CF困到不行 卡的一道题C. Increasing by Modulotime limit per test2.5 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputToad Zitz has an array of integers, each integer...原创 2019-05-27 23:55:12 · 345 阅读 · 0 评论 -
想法-Codeforces-1208B Uniqueness
http://codeforces.com/problemset/problem/1208/B题意:任意删除一段连续的序列,使剩下的序列中每个元素只出现一次,求最小删除长度思路:暴力跑一遍,记录中间过程的最小长度即可依次列举保留前面i个元素,然后从序列最后找能保留的最大元素的数目用总长度-前面保留的元素数-后面保留的元素数 即为这种情况下需要删除的元素数记录所有情况下的最小值因为a...原创 2019-08-30 15:38:50 · 252 阅读 · 0 评论 -
想法-Codeforces-Round 64 (Rated for Div. 2) Problem A Codeforces Inscribed Figures
A. Inscribed Figurestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe math faculty of Berland State University has suffered the sudden drop ...原创 2019-05-02 10:44:14 · 145 阅读 · 0 评论 -
数学-Codeforces-1152C Neko does Maths
C. Neko does Mathstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputNeko loves divisors. During the latest number theory lesson, he got an inter...原创 2019-04-30 21:15:39 · 177 阅读 · 0 评论 -
想法-Codeforces-1154E Two Teams
E. Two Teamstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere are n students standing in a row. Two coaches are forming two teams — the f...原创 2019-04-30 21:08:07 · 368 阅读 · 0 评论 -
搜索-Codeforces-1144F Graph Without Long Directed Paths
F. Graph Without Long Directed Pathstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a connected undirected graph consisting of ...原创 2019-04-18 20:09:37 · 151 阅读 · 0 评论 -
想法-Codeforces-1144D Equalize Them All
D. Equalize Them Alltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a consisting of n integers. You can perform the fo...原创 2019-04-15 01:15:44 · 153 阅读 · 0 评论 -
想法-Codeforces-1144E Median String
第一次在cf上过题…所以就想来第一次写博客了0 0就写一下自己刚刚过的题吧E. Median Stringtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two strings s and t, both...原创 2019-04-12 13:11:24 · 220 阅读 · 0 评论 -
想法-Codeforces-1213F Two Small Strings
题目链接题意:s和t都是由字母a b c中的一种或两种字符 组成的长度为2的字符串找到一个字符串 其中a b c三个字母各出现n次,并且s和t不是其连续子序列(the strings “ab”, “ac” and “cc” are substrings of the string “abacc”, but the strings “bc”, “aa” and “cb” are not su...原创 2019-09-01 23:59:16 · 221 阅读 · 0 评论 -
并查集 二分-Codeforces-1213G Path Queries
题目链接题意:有n个点,编号1-n保证这n个点来自于一个树,给出n-1个点之间的连接关系问有多少种对(u,v) u<v满足u v之间的路上 没有长度超过qi的边样例+题目解释:例如第一组样例构成的树如图所示询问分别为:5 2 3 4 1第一次询问:(1,2)(1,3)(1,4)(1,5)(1,6)(1,7)(2,3)(2,4)(2,5)(2,6)(2,7)(3,4)...原创 2019-09-03 00:24:31 · 140 阅读 · 0 评论 -
想法-Codeforces-1230C-Anadi and Domino
题目链接题意:给定一个n,一个m,表示一个图中有n个点,m条边(这m条边保证没有自己连自己和重复的情况)。有21种多米诺骨牌,每个多米诺骨牌有两部分,每个部分有一个数字。(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)(2,2)(2,3)(2,4)(2,5)(2,6)(3,3)(3,4)(3,5)(3,6)(4,4)(4,5)(4,6)(5,5)(5,6)(6,6)...原创 2019-09-24 20:17:37 · 174 阅读 · 0 评论 -
贪心-Codeforces-1197D Yet Another Subarray Problem
D. Yet Another Subarray Problemtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array a1,a2,…,an and two integers m and k.Yo...原创 2019-08-01 15:37:18 · 182 阅读 · 0 评论