Codeforces
文章平均质量分 71
HARD_UNDERSTAND
Just try
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces 765D Artsem and Saunders 【构造】
题目:http://codeforces.com/contest/765/problem/D题意:给你n个数f(i) 现在让你构造一个长度为n的g(i),和一个长度为m的h(i),m由你自己定。 要求g(h(x))=x,h(g(x))=f(x)分析:代码:#include<bits/stdc++.h>using namespace std;int n, f[101000], q[101000原创 2017-02-20 15:05:33 · 403 阅读 · 0 评论 -
Codeforces 721C Journey (简单dp,dfs)
题目:http://codeforces.com/contest/721/problem/C 题意: 一个DAG图有n个点,m条边,走过1条边花费w个时间单位,总共有T时间,问从1到n最多可以经过多少个点?分析: dp[u][k]表示到u点,已经经过了k个点,还剩下的时间 转移的话在图上搜一遍 担心会超时,可是没有。因为状态最多有n*n个。代码:#include<bits/原创 2016-11-03 19:49:21 · 521 阅读 · 0 评论 -
Codeforces 721D (优先队列,模拟)
题目:http://codeforces.com/contest/721/problem/D 题意: 给出一个n个数的序列,最多可以有k次操作,每次操作可以任选序列中的一个数+x或者-x,求如何使得n个数的积最小?分析: 这题比较麻烦,有一些情况 首先分析,要想积最小,那么就把积变成负数。 如果可以变成负数,那么就尽量让所有数的绝对值平均一些,这样积的绝对值才更大。 怎原创 2016-11-03 21:05:57 · 488 阅读 · 0 评论 -
Codeforce 633D multiset
题目:Codeforces 633D 题意: 给出n个数,要求将这n个数排列,使得满足下列要求的前缀最小 the sequence consists of at least two elements f0 and f1 are arbitrary fn + 2 = fn + 1 + fn for all n ≥ 0. n<=1000 分析: 因为f0和f1原创 2016-03-22 19:27:16 · 357 阅读 · 0 评论 -
Codeforces 652C Foe Pairs 【dp】
C. Foe Pairstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a permutation p of length n. Also you are given m foe pairs (ai, b原创 2016-04-13 22:06:26 · 807 阅读 · 0 评论 -
Codeforces 671B Robin Hood 二分答案
B. Robin Hood time limit per test 1 second memory limit per test 256 megabytes input standard input output standard outputWe all know the impressive story of Robin Hood. Robin Hood uses his arc原创 2016-05-15 17:26:07 · 1760 阅读 · 0 评论 -
Codeforce 723E - One-Way Reform(欧拉回路*,构造)
题目:http://codeforces.com/contest/723/problem/E 题意: n个点m条边的无向连通图 没有自环没有重边 我们要把所有点都定向 希望使得尽可能多的点拥有相同的入度与出度 让你输出满足这个条件的最大点数和每条边最后的定向 分析: 有个结论:只要是度为偶数的点,一定可以构造出入度等于出度。奇度点一定不可能。 如何确原创 2016-10-04 22:59:06 · 602 阅读 · 0 评论 -
Cddeforces 723F - st-Spanning Tree(构造,无权生成树)
题目:http://codeforces.com/contest/723/problem/F 题意: 给你一个联通无向图 让你构造一个无权生成树,使得—— S点的度数不超过SD T点的度数不超过TD 分析: 这题和上一题一样都是构造(灵机一动~~) 首先把不包含s和t的边先求一下连通块 处理完后还剩三种边 s-某个连通块 t-某个连通块原创 2016-10-04 23:27:12 · 557 阅读 · 0 评论 -
Codeforces 703D Mishka and Interesting sum 树状数组
题目:http://codeforces.com/contest/703/problem/D 题意: 给你n个数,m个区间询问 求区间出现次数为偶数次的数的异或和 分析: 如果是奇数次呢?我们知道a^a=0 所以直接前缀异或和就可以处理。所以思考有没有一种反异或运算呢?自己模拟一遍发现这样是错误的。换一个思路考虑,将奇数次变为偶数次来处理,只需要计算出所要查询的区间内不同的数的异或和a原创 2016-08-05 20:07:36 · 722 阅读 · 0 评论 -
Codeforces 733C (模拟,贪心)
题目:http://codeforces.com/contest/733/problem/C 题意: 给你n个数,a1,a2,a3,…an,再给你m个数b1,b2,b3,…bm,问你a序列能否通过合并变成b序列。合并的条件为只能相邻的数合并,ai与ai+1能合并的条件为ai> ai+1或ai< ai+1。合并出来的值为ai+ai+1。然后通过新序列合并下去问你能不能达到b序列?能达到的话输出是原创 2016-11-01 16:53:20 · 795 阅读 · 0 评论 -
Codeforces 733D 立方体(想法题)
题目:http://codeforces.com/contest/733/problem/D 题意: 给定n个长方体,求一个最大的内切球的半径,可以是两块石头将两个完全匹配的面合起来的或者就用一块石头,输出切出最大内切球的那1/2个石头是哪些。分析: 一个立方体得到一个球,那么限制球半径大小的是最小的边长。 考虑一个立方体,那么最优一定是max(min(a[i],b[i],c[i]原创 2016-11-01 17:16:04 · 857 阅读 · 0 评论 -
Codeforces 761E Dasha and Puzzle【构造,树dfs】
题目:http://codeforces.com/contest/761/problem/E题意:给出n(n<=30)个节点的树,给每个点确定一个坐标,使得n-1跳边和坐标轴平行。要保证所有的边都不想交。分析:很显然,如果某个点的度大于4,那么无解。 那么问题的就变成了从一个点出发,把所有邻接点向上下左右四个方向确定即可。 问题的关键是怎么使得所有的边不会相交? 提示:20 + 21 + ..原创 2017-02-28 18:24:50 · 399 阅读 · 0 评论 -
Codeforces Round #398 (Div. 2)题解
题目:http://codeforces.com/contest/767吐槽: 这场的题目不太行啊,感觉B题麻烦的要死,CD都比B简单。A Snacktower分析:简单模拟一下即可。B The Queue题意:排队在窗口买票,营业时间是[ts,tf],一个人办理业务需要的时间都是t 现在知道了n个人去到达的时间f[i] 现在小明要去买票,小明到达的时间如果跟n个人中某人一样,那么就在这些人后原创 2017-02-19 23:36:03 · 522 阅读 · 0 评论 -
Codeforces 670E - Correct Bracket Sequence Editor 链表
E. Correct Bracket Sequence Editortime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently Polycarp started to devel原创 2016-05-09 12:17:08 · 903 阅读 · 0 评论 -
Codeforces 765E - Tree Folding 【树,dfs/bfs】
题目:http://codeforces.com/contest/765/problem/E题意:给你一棵树,可以在这棵树上进行若干次操作,每次操作可以把两条长度相同的链,根据一个中点合并在一起。 然后问你经过若干次合并之后,最后的最短链长度是多少。 如果不能合并成一条链,输出-1.分析:拓扑排序,每次我们从度数为1的点出发bfs。 然后往上合并,如果遇到交叉点,我们就合并链。 我们用一个s原创 2017-02-20 15:24:05 · 782 阅读 · 0 评论 -
Codeforces 754 D Fedor and coupons【优先队列】
题目:http://codeforces.com/contest/754/problem/D题意:从n条线段中取出恰好k条使得交集长度尽可能长,输出最优值和方案。分析:感觉这种题做过好多次了,贪心+优先队列就可做。 根据左端点排序,然后依次插入右端点,直到队列中元素有k个,然后当前插入的左端点是最大的,队首的就是右端点最小的。这样维护一下即可。 set和优先队列都可以,set似乎更方便些~~代码原创 2017-03-02 11:53:29 · 291 阅读 · 0 评论 -
Codeforces 768B Code For 1 线段树思想
题目:http://codeforces.com/contest/768/problem/B题意:给一个数n,和一个区间[l,r] (r-l<1e5,n<2^50),每次可以把数n分成(n/2,n%2,n/2)知道所有数变成0或1,问区间内有多少个1?分析:因为[l,r]的范围小于1e5,所以想到枚举区间中的第pos个数,判断这个数是0还是1即可。递归去判断最多50,所以不会超时。递归如何判断呢?每原创 2017-02-22 22:01:55 · 1003 阅读 · 0 评论 -
Codefroces 791B【判断完全图,简单题】
题目:http://codeforces.com/contest/791/problem/B题意:给一个图,判断每个连通分量是不是完全图?分析:其实知道是求完全图就很好做了、判断每个连通分量的是否v*(v-1)==e即可,v是顶点数量,e是边的数量。代码:#include<bits/stdc++.h>using namespace std;bool vis[200005];vector<int原创 2017-03-24 11:08:21 · 1093 阅读 · 0 评论 -
Codeforces 791 C. Bear and Different Names【贪心】
题目:http://codeforces.com/contest/791/problem/C题意:有n个名字,如果连续的k个中有重名,那么就是NO,否则是YES。 现在给出n-k+1个连续的YES和NO序列,要求给出一种符合要求的n个名字。分析:如果是YES的话,那么这k个名字肯定是不同的,如果是NO的话,为了对YES不产生影响,那么就让第i个名字和第i+k-1个名字相同即可。代码:#includ原创 2017-03-24 11:15:25 · 422 阅读 · 0 评论 -
Codeforces 711C. Bear and Tree Jumps【树形dp好题】
题目:http://codeforces.com/contest/791/problem/D题意:你可以从树上的节点一次最多走k条边。 (称为跳一次); 树为无权树; 然后问你任意两点之间的条的次数的和为多少; 分析:不会做,看题解:http://codeforces.com/blog/entry/51068 代码:#include <bits/stdc++.h>using namespa原创 2017-03-24 12:46:48 · 419 阅读 · 0 评论 -
Codeforces #443 Div.2 C. Short Program 【位操作】
题目:http://codeforces.com/contest/879/problem/C 题意:有一个函数,输入正整数x,经过n(n<5e5)次操作,返回一个正整数,其中操作有三种,和xi(0~1023)进行 ^ | & ,。现在要求你如何在5次操作内 函数的作用和n次操作相同。分析: x的每一位(0/1) 经过n次操作后,变成(0/1),那么就用and or xor 相应的构造一下即可。#原创 2017-10-27 11:59:26 · 350 阅读 · 0 评论 -
Codeforces 873 D Merge Sort 【分治】
题目: http://codeforces.com/contest/873/problem/D题意: 子序列长度为n,归并排序,如果子序列不是有序的,那么就折半,再递归,直到子序列有序,总共递归k次。 给出n和k,求原来的子序列。分析: 归并排序的变形,每次折半直到k为0。代码:#include <iostream>#include <algorithm>#include <string原创 2017-10-30 00:27:44 · 476 阅读 · 0 评论 -
Codeforces 653C - Bear and Up-Down 暴力
C. Bear and Up-Down time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard outputThe life goes up and down, just like nice sequences. Sequence t1原创 2016-05-08 13:03:28 · 1146 阅读 · 0 评论 -
Codeforces 631D - Messenger KMP
题目:http://codeforces.com/problemset/problem/631/D 题意: 输入一段压缩后的字符串,问子串在主串中出现的次数 分析: KMP匹配求子串在主串中出现的次数,因为是压缩后的字符串,这就要考虑字符串的长度。因为要完全匹配,显然,模式串的中间的字符和数目必须要完全和主串匹配,但是前后两个字符数目可以不相等,所以模式串删去前后两个字符,去和主串匹配,完全原创 2016-03-20 13:55:38 · 577 阅读 · 0 评论 -
Codeforces 6225B KMP
题目:Codeforces 625B 题意: 给你主串s,模式串t,其中t可能会在s中出现很多次,每次操作可以使s中的一个字符换成’#’,问最少的操作次数。 分析: 简单的KMP,求出模式串t在主串中出现的位置,然后再找出重叠的个数,相减即使答案。 例如主串1212121,模式串121,因为主串中有重叠,只需要12#2#21,两次就可以。#include<cstdio>#include<原创 2016-03-20 15:14:27 · 396 阅读 · 0 评论 -
Codeforces 645C 二分
题目: In an attempt to escape the Mischievous Mess Makers’ antics, Farmer John has abandoned his farm and is traveling to the other side of Bovinia. During the journey, he and his k cows have decided to原创 2016-04-01 21:52:05 · 444 阅读 · 0 评论 -
Codeforces 632C - The Smallest String Concatenation
题目:Codeforces 632C题意: 输入n个字符串,将这n个字符串加起来,求最小字典序的字符串 例: Input 5 x xx xxa xxaa xxaaa Output xxaaaxxaaxxaxxx 分析: 自己像个傻逼一样,写了半天写了个自定义排序函数,虽然过了,但是用时太长了,看了一下cf上别人的代码,我真是太蠢了。。。#include<bits/stdc+原创 2016-03-22 00:07:59 · 537 阅读 · 0 评论 -
Codeforces 632D 暴力
题目:http://codeforces.com/contest/632/problem/D 题目: 给出n个数,和m,要求从这n个数中找出最多个数,使它们的最小公倍数不超过m 分析: 先统计一下输入的数的个数,然后暴力求出每个数的倍数都加上这个数的个数,然后在m的范围内找一个最多的数。#include<bits/stdc++.h>using namespace std;const in原创 2016-03-22 12:45:03 · 500 阅读 · 0 评论 -
Codeforces 637D 模拟
题目:Codeforces 637D 题意: 有个人从0点走到m点,中间点会有障碍,他必须跨过去,但是在跨之前,必须跑一段距离,至少是s,然后他就可以跨越不大于d的距离,给出障碍点,问他能不能走到最后。 分析: 这场的题目叙述好难理解,这题我已开始读错题了,一位每个障碍是一段距离,WA了好几次,后来一读原来是点,晕~~ 后来改了一下就A了。简单说一下思路:因为有的障碍物之间的距离太小,所以不原创 2016-03-25 00:02:56 · 601 阅读 · 0 评论 -
Codeforces 650A 数学简单题
题目:http://codeforces.com/problemset/problem/650/A题意: 给出n个点,问符合和|xi - xj| + |yi - yj|. 这两个公式算出来的两点“距离”相等的点对有几个? 分析: 显然如果上面两个公式相等,那么必须横坐标相等或者纵坐标相等,每次从相等的个数中取出两个的,就是这一相等坐标的排列数,分别按横纵坐标求一遍,但是因为有相等的,这样会重复原创 2016-03-28 22:14:38 · 496 阅读 · 0 评论 -
Codeforces 650B 二分
题目:http://codeforces.com/problemset/problem/650/B 题意: :给n张图片循环可看,每张图片的朝向为横(w)|竖(v),但是手机是竖直放置的。开始时打开的是第0张图片,如果一张图片为w放置就需先花b秒边把该张图片变成v朝向,从一张图片到下一张图片手机的反应时间为a秒,每观察一张图片需要1秒钟。不能直接跳过没看的图片,但是重新刷到看过的图片时,所花的时原创 2016-03-28 22:28:58 · 526 阅读 · 0 评论 -
CodeForces 652D Nested Segments 树状数组
题意: 给你n个区间,问第i个区间有多少个子区间? 分析: 跟poj2481那题差不多,把区间看成是一个点,那么一个区间的子区间一定在它的右下方,即x比他的大,y比他的小的点。然后用树状数组搞下就好,因为题目范围是( - 1e9≤ li < ri ≤ 1e9) ,所以要离散化,因为每个区间的右端点都不一样,所以直接对y排序后离散化就可以。#include<iostream>#include<原创 2016-04-16 12:54:20 · 541 阅读 · 0 评论 -
Codeforces Round #349 (Div. 2) C. Reberland Linguistics DP
题意: 自己读了半天题,果断没看懂题意,看了题解才明白是这个意思啊。给一个字符串,去掉一个长度至少为5的前缀,剩下的切成长度为2或者3的串,且相邻的串不相同,问,最后可以切成多少个串且分别是什么;思路:dp[i][2]==1表示i,i+1形成的串可以满足要求,dp[i][3]==1同理;再就是转移了;考虑i位置,长度为2;(1)如果(i,i+1)与(i+2,i+3)相同,那么只有dp[i+2][3原创 2016-05-07 15:57:03 · 609 阅读 · 0 评论 -
Codeforces Round #351 Div2 C 简单枚举
C. Bear and Colorstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBear Limak has n colored balls, arranged in one lo原创 2016-05-08 09:27:47 · 720 阅读 · 0 评论 -
Codeforces Round #351 Div. 2 D 贪心
D. Bear and Two Pathstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputBearland has n cities, numbered 1 through n.原创 2016-05-08 09:38:51 · 557 阅读 · 0 评论 -
Codeforces 659E 找环+(并查集/dfs)
题目: http://codeforces.com/problemset/problem/659/E 题意: 给你一个图,现在要你给这个图里面的边定方向,使得入度为0的点最少。 分析: 对于一个连通块而言,如果里面存在一个环,那么必然所有点的入度都可以大于等于1 否则的话,就存在一个点的入度为0。并查集:#include <bits/stdc++.h>using namespace s原创 2016-03-31 23:45:25 · 373 阅读 · 0 评论 -
Codeforces 670D2 Magic Powder - 2 二分答案
Waking up in the morning, Apollinaria decided to bake cookies. To bake one cookie, she needs n ingredients, and for each ingredient she knows the value ai — how many grams of this ingredient one needs原创 2016-05-08 21:49:28 · 911 阅读 · 0 评论 -
Codeforces 679B - dp
DescriptionLimak is a little polar bear. He plays by building towers from blocks. Every block is a cube with positive integer length of side. Limak has infinitely many blocks of each side length.A bloc原创 2016-07-01 12:31:14 · 300 阅读 · 0 评论 -
Codeforces 685B 树形dp
题意:给出有n个点的树,有q次询问某个点的重心是什么?InputThe first line of the input contains two integers n andq (2 ≤ n ≤ 300 000,1 ≤ q ≤ 300 000) — the size of the initial tree and the number of queries respective原创 2016-07-01 23:32:46 · 465 阅读 · 0 评论 -
Educational Codeforces Round 15(简单题)
A. Maximum Increase 题意: 给出一个数列(n<100000),问最长连续上升子序列?#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+9;int a[N];int main(){ int n;scanf("%d",&n); int maxn原创 2016-07-31 15:20:41 · 449 阅读 · 0 评论
分享