
Codeforces比赛
文章平均质量分 73
金金金金鑫
这个作者很懒,什么都没留下…
展开
-
Codeforces 699A Launch of Collider
题意:给你n个点的坐标和开始运动的方向,问你它们之间最早相遇的点坐标是多少,它们运动的速度为1,若永远无法相遇则输出-1。思路:将所有R方向的存到一数组,所有L方向的存到另一数组,然后枚举R方向,二分查找L方向与它最近的那个点坐标,然后不断维护它们之间距离的最小值。#include#includeusing namespace std;const int INF=0x3f3原创 2016-07-20 10:05:27 · 317 阅读 · 0 评论 -
Codeforces 699B One Bomb
题意:你有一颗炸弹可以炸一行一列,问你如何放置炸弹能把所有的墙炸掉。思路:先计算墙的总个数和每一行每一列墙的个数,然后枚举每一个点,若满足该行墙的个数+该列墙的个数-1=墙的总个数那么这个点就是答案。#include#includeconst int MAX=1005;int n,m,r[MAX],c[MAX];char mp[MAX][MAX];int main()原创 2016-07-20 10:08:25 · 300 阅读 · 0 评论 -
Codeforces 698A Vacations
题意:Vasya有n天可以安排,0表示一定要休息,1表示可以去比赛或者休息,2表示可以去健身或者休息,3表示可以去比赛或者健身或者休息,且不能连续的两天进行竞赛或者健身,问他最少需要休息几天。思路:枚举。若出现3,判断下前一个是1或者2,如果是则将3置为2或者1,如果不是不用管,若出现连续的两个1或者2将第二个置为0。#includeconst int MAX=105;int原创 2016-07-20 10:10:01 · 618 阅读 · 0 评论 -
Codeforces 698B Fix a Tree
题意:给你n个点的父亲,问你需要修改其中几个的父亲使其图变成一棵树。思路:给出来的情况只有两种需要修改,即独立的树和环,那么我们可以枚举每个点去找,利用时间戳去判环。#include#includeconst int MAX=200005;int n,st,cnt,ans,p[MAX],dfn[MAX];void Find(int i){ dfn[i]=++cnt;原创 2016-07-20 10:31:52 · 747 阅读 · 0 评论