
codeforces
Start_to_crazy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CodeForces - 797C Minimal string (贪心)
#include<stdio.h>#include<string.h>#include<stack>#include<algorithm>using namespace std;const int MAXN = 1e5+7;char s[MAXN];int Min[MAXN];int main(){ while(~scanf("%s",&s)) {原创 2017-08-30 20:36:37 · 572 阅读 · 0 评论 -
Codeforces-959D Mahmoud and Ehab and another array construction task 素数筛+质因数分解
题意: 给一个数组a,求大于或者等于数组a的字典序的数组b,其中b满足数组内任意数互质,bi>=2。并且是所有满足条件中的字典序最小的一个。题解: 这道构造题首先要考虑的就是如果a数组内的数互质的话,就不需要构造出b数组,直接输出a数组就可以了。那么我们怎么判断整个数组内的数是否互质呢?不能单单的左右判断就完事(意思就是假如,2,3,4判断是否互质,2和3不互质,3和4...原创 2018-06-14 20:14:59 · 309 阅读 · 0 评论 -
Educational Codeforces Round 43 (Rated for Div. 2) A-C题
A题: 判断是否有1就好了有1就输出1,然后输出有多少个0.#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int main(){ int n; char s[105]; while(~scanf("%d",&n)) { scanf(原创 2018-05-01 08:56:03 · 251 阅读 · 0 评论 -
CF 420 821B Okabe and Banana Trees
题解: 这道题我看的是别人的解释, https://www.cnblogs.com/shingen/p/7105280.html#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define LL long longint main(){ LL m,b;原创 2018-03-05 22:10:07 · 297 阅读 · 0 评论 -
CF420 div2 821C Okabe and Boxes
题意: 给你2*n个操作,分别是在栈顶部加一个数,删除栈顶的一个数,删除的顺序是1到n,你可以在任何一次操作后对栈中序列进行重排,问你最小需要多少次重排。 题解: 扯一下犊子,看到这玩意一下子想到栈,但是我想用两个变量去做,结果发现失败了。。。回到了栈发现是真的简单,MD。。还有就是不会发生以下情况,4,2,1,删除三次,导致出现124这种不对的情况,题目的数据是不会出现这种原创 2018-03-05 21:18:29 · 303 阅读 · 0 评论 -
CF420 div2 821A Okabe and Future Gadget Laboratory
题意: 给你一个n*n矩阵,要你判断不是1的数能不能有同一行 + 同一列的一个数得到。 题解: A题很简单,暴力就可以过了。#include<stdio.h> #include<string.h>#include<algorithm>using namespace std;int n,m;int a[55][55];bool check(int x,int y){原创 2018-03-05 21:05:48 · 309 阅读 · 0 评论 -
CodeForces - 820D 思维好题
感谢Joovodalao的解释,让我理解了一下这道题的p数组更新。 题意: 给你n个数,每次可以向前移动一次数组,就相当于1,2,3,4,5 移动一次变成5,1,2,3,4一样,现在要你算出1到n的a[i]-i的最小和。 题解: 我要说的基本在我的代码里了,详细的请边看代码边看注释,这是一道非常不错的题目,这道题的关键是数组p[i]表示的是有多少个数需要向右边移动i步到达目原创 2018-03-14 18:17:37 · 927 阅读 · 0 评论 -
CF421 820B 几何
题意: 给你个n正多边形,要你求一个接近k的角度。 题外话: 一开始的思路只是想到固定一个点,或者两个点,再去找其他点,后面的没想出来,也感觉到了自己深受百度而变得不爱想的毒害,只能怪自己,这道题的思路还是小泽告诉我的。 题解: 先用公式(n-2)*180.0/n算出正多边形的内角是多少,再算出内角最多可以划分成多少份,最多可以划分成n-2份,然后再固定两个点:1...原创 2018-03-07 18:57:09 · 260 阅读 · 0 评论 -
codeforces 595C Warrior and Archer(博弈)
题意: 一条线上分布着n(偶数)个点,A和B每次轮流从上面删掉一个点 A希望最后剩下来的两个点距离尽量近,B则希望尽量远 ,若两个人都采用最佳策略,问最后剩下的两个点的距离是多少。 题解: 这很显然是一个博弈,后来查了一下,好像是什么对称博弈,管他呢,首先我们可以得知,这道题先手占有主动权,那么我们算答案就要往先手有利的方向去,设最后剩下两个点,l,r,A为了尽量近只会拿原创 2017-10-22 02:48:04 · 356 阅读 · 0 评论 -
codeforces 559C Day at the Beach
题意: 给你一个大小为n序列,要求该序列分解成若干块,这若干块升序排列的时候要和原来大小为n的升序序列相同,问你最多可以分成多少块。 题解: 想了一晚上,要分块并且保持升序的话,必须是下一块的最小值大于当前块的最大值,但是我不相信我的思路是不是对的,所以躺在床上不敢去写,然后看了题解。。才发现我的思路是对的,,所以说,不要怕错,最重要是肯写。#include<stdio.h>原创 2017-10-22 02:25:28 · 206 阅读 · 0 评论 -
Codeforces 849B - Tell Your Worl(思维)
题意: 给你一堆点,问这些点能不能组成两条平行线,使这两条平行线不重合,而且每条边至少有一个点。 题解: 因为所有点都必须在两条平行线上(如果不在两条平行线上的话,肯定是错的。), 那么我们可以知道,三个点有两个点在一条平行线上,而剩下的一个点单独一条平行线。那么 我们可以用三个点算出三个斜率,第一个点和第二个点的斜率k1,第二个点和第三个点的斜率k2,第一个点和第三个点斜率k原创 2017-09-02 19:38:50 · 610 阅读 · 0 评论 -
codeforces 523D 优先队列
题意: 给你N个任务单和k个机器,每个任务单有两个变量开始的时间,完成所需要的时间,问你最优去做的话,每个订单的结束时间是?题解: 题目保证了数据是递增排序的,那么我们就不用sort了,直接做。然后这里有个小套路:因为题目可以有k个机器,那我们可以先用k个0进去一个优先队列以达到模拟k个优先队列的作用,然后计算他们的完成时间,再放回去优先队列。这道题就做完...原创 2018-08-22 10:21:32 · 380 阅读 · 0 评论