![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Codeforces
沐兮Krystal
这个作者很懒,什么都没留下…
展开
-
Codeforces 简单思维题合集
codeforces 1285B Just Eat It!https://codeforces.ml/problemset/problem/1285/B题意 :有两个人,n堆蛋糕,每个蛋糕有ai的权值,第一个人全部拿走,第二个人取片段(这个片段不能是[1,n])。比较谁的权值大,如果第一个人的权值大于第二个人则输出YES,否则输出NO。思路:维护一个最大子段。但由于不能全部取完,所以需要从1—n-1遍历一遍。再从2—n遍历一遍取最大值。代码:#include <iostream>#i原创 2020-08-11 17:13:11 · 1968 阅读 · 0 评论 -
Codeforces D. Two Divisors (数论,线性筛)
https://codeforces.ml/contest/1366/problem/D(题目链接如上↑)题解:1.首先,gcd(x,y)=gcd(x+y,x*y)证明如下:gcd有两点性质:(1) gcd(a,b)=gcd(a-b,b),gcd(a,b)=gcd(a+b,b)(2) 若gcd(a,c)=1,则gcd(a,bc)=gcd(a,b)下面正式开始证明:由性质1可得: gcd(x,y)=1 -> gcd(x+y,y)=1由性质2可得: gcd(x+y,xy)=gcd(x+原创 2020-06-13 19:37:13 · 578 阅读 · 0 评论 -
Codeforces E. Maximum Subsequence Value(贪心+鸽巢原理)
https://codeforces.com/contest/1365/problem/E(题目链接如上↑)题意:从a数组中选取一个长度为k的子序列,使得该子序列的value值最大。一个子序列的value值为2^i的和,i为二进制形式下的有效位。当且仅当该子序列中不少于k-2个数的二进制在该位下为1时,该位有效。题解:1.当k<=3时,只需要一个数的该位有效即可产生贡献。所以可以直接选三个数,O(n^3)枚举所有的情况,得到value的最大值。2.当k>3时,当某位有效时,说明至少有原创 2020-06-11 17:41:22 · 263 阅读 · 0 评论 -
Codeforces D. Buying Shovels
https://codeforces.ml/contest/1360/problem/D(题目链接如上)题意:总结下来就是在1~k的范围内找到n的最大因数x,ans=n/x开始的想法:从min(k,n)开始往下遍历到sqrt(n)找到最大因数。但是数据范围1e9,第一个样例就会超时。正解:从1开始到sqrt(n)遍历所有的因数x,并且判断是否在k的范围内,若在k的范围内就更新ans=min(ans,n/(x))。复杂度O(n^(1/2)),不会超时。一些吐槽:自己对于1到sqrt(n)原创 2020-05-25 17:38:25 · 228 阅读 · 0 评论 -
Codeforces D.Constructing the Array(优先队列)
https://codeforces.ml/contest/1353/problem/D(题目链接↑)题解这题主要用到优先队列,size(区间长度)大的排在前,size相同的left(左端点)小的排在前。主要积累一下这里的语法:struct node{ int size,l,r; bool operator > (const node& a) const{ if(size!=a.size) return size<a.size; else return l>a原创 2020-05-20 17:51:35 · 239 阅读 · 0 评论 -
Codeforces C1. Simple Polygon Embedding
https://codeforc.es/contest/1354/problem/C1(题目链接如上↑)推导过程:AC代码:#include <iostream>#include <cstdio> #include <cmath>using namespace std;#define PI 3.141592653589//要比6位多几位int main(){ int t; cin>>t; while(t--){ double n,原创 2020-05-18 20:54:30 · 387 阅读 · 0 评论 -
Codeforces B. Orac and Models (dp)
Codeforces Round #641 (Div. 2) B. Orac and Models**题目链接:**https://codeforc.es/contest/1350/problem/B(或者点这里)首先,我太菜了我太菜了我太菜了。然后,不气馁加油加油加油。最后,dp对我来说还是个大难关,努力攻克吧。然后是题解:dp[i]用来记录对应结尾为是s[i]的满足题目下标整除条件的最长上升子序列的长度。对应每个i枚举能整除i的j,然后不断更新:dp[i]=max(dp[i],dp[j]原创 2020-05-13 18:11:48 · 264 阅读 · 0 评论