polandball专题

Codeforces 755D:PolandBall and Polygon 贪心 + 树状数组

传送门 题目描述 给出一个n边形,和距离k。 第一次连接1和 k+1,第二次连接k+1和(k+1+k)%n,依次进行n次,每次结束后输出n边形被分割成了几个区域。 分析 画画图可以观察出结论,每次答案都在前一个答案上加1再加上交点个数 所以我们怎么去维护交点个数呢 我们可以计算出两个点之间有多少个点有直线即可,用树状数组进行维护 需要注意的是,我们需要维护小的那一边,否则有的边会被重复计算

CodeForces 755C PolandBall and Forest

题目链接:http://codeforces.com/contest/755/problem/C 题意:给你一个长度为n的序列,a[i]表示a[i]与i有条边相连,让你求这个序列构成的森林里有多少棵树 解析!:裸的并查集 #include <bits/stdc++.h>using namespace std;const int maxn = 1e5+100;int fa[maxn],a

CodeForces 755B PolandBall and Game

题目链接:http://codeforces.com/contest/755/problem/B 题意:两个人玩游戏,每人轮流说一个词,不能说之前说过的,然后谁先不能说谁就输,问你最后谁赢了,每个人说的词是已经准备好了的第一个人有n个词,第二个人有m个词,第一个人先手,如果第一个人赢了就输出YES,否则输出NO 解析:首先想相同的词,肯定每个人是一人说一个,然后减去那些相同的词,假设有cnt个