摘要: Problem A Arrays 思路:水一水。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1e5+5; 4 int n1,n2,k,m,a[N],b[N]; 5 int main() 6 { 7 scanf("%d 阅读全文
posted @ 2017-12-23 16:22 NotNight 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目大意:在一个平面里有n个点,点坐标的值在1-1e6之间,让你给出一个遍历所有点的顺序,要求每个点走一次,且 曼哈顿距离之和小于25*1e8。 思路:想了一会就有了思路,我们可以把1e6的x,y坐标都分成2000份,每份500,然后这样整个平面就被分成 了2000*2000个区域,然后按区域输出点 阅读全文
posted @ 2017-12-15 20:06 NotNight 阅读(341) 评论(2) 推荐(0) 编辑
摘要: Invariance of Tree 题目大意:给你一个有1-n组成的序列p,让你构造一棵树,如果节点a和b之间有一条边,则p[a]和p[b]之间也有一条边。 思路:没啥思路,看了题解菜爆。 我们可以把1-n个数分到若干个集合里边,一个集合里边的元素要满足按顺序转移改变的性质,如果有其中一个集合的元 阅读全文
posted @ 2017-12-14 20:17 NotNight 阅读(249) 评论(0) 推荐(0) 编辑
摘要: Problem D 80-th Level Archeology 题目大意:有n行,每行有ki 个数,你没次能进行一次操作就是将所有数加1,这些数的上限是c,如果大于c则变成1, 问你有没有存在一个操作次数m使得每行的字典序上升。 思路:我们找出每两行之间决定他们字典序大小的两个数,每两个都能求出一 阅读全文
posted @ 2017-12-05 20:34 NotNight 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1 #include<bits/stdc++.h> 2 using namespace std; 3 struct point 4 { 5 int x,y; 6 }p1,p2,p3,p4; 7 int cross(const point &a,const point &b,const point & 阅读全文
posted @ 2017-11-26 17:36 NotNight 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 树的距离 题目大意:wyf非常喜欢树。一棵有根数树上有N个节点,1号点是他的根,每条边都有一个距离,而wyf是个爱问奇怪问题的熊孩子,他想知道对于某个点x,以x为根的子树上,所有与x距离大于等于k的点与x的距离之和。N<=2e5 思路:可以考虑离线算法,我们先将树dfs一遍,我们按dfs序在w中保存 阅读全文
posted @ 2017-11-25 14:50 NotNight 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n个点n条边的有向图,你可以任意地反转一条边的方向,也可以一条都不反转,问你有多少种反转的方法 使图中没有环。 思路:我们先把有向边全部变成无向边,每个连通图中肯定有且只有一个环,如果这个连通图里边有n个点,环由m个元素 构成,那么这个连通图的反转方法数为,(2^(n-m)) * (2 阅读全文
posted @ 2017-11-24 18:39 NotNight 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个点,由m种颜料,有些点没有涂色,有些点已经涂色了,告诉你每个点涂m种颜色的价格分别是多少, 让你求将这n个点分成k段最少需要多少钱。 思路:动态规划,我们另dp[ i ][ j ][ k ] 表示到i个点为止,分成j段,最后一段的颜色为k的最少值,然后就能很容易地 写出状态转移方程。 阅读全文
posted @ 2017-11-23 17:02 NotNight 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你n个数,最多有k次操作,每次操作可以将一个任意一个数加上x或者减去x,问你经过k次操作 之后,满足n个数乘积最小的改变后的序列。 思路:我们先考虑原序列由奇数个负数,那么我们只要将n个数的绝对值全部加入优先队列,然后每次操作取出 最小值,如果是负数能减去x,如果是正数加上x,这样进行将 阅读全文
posted @ 2017-11-22 12:58 NotNight 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 贴一发两圆相交面积模板 1 #include<bits/stdc++.h> 2 #define pi acos(-1.0) 3 using namespace std; 4 const double eps=1e-6; 5 double _abs(double x) 6 { 7 if(x<0) re 阅读全文
posted @ 2017-11-21 15:32 NotNight 阅读(154) 评论(0) 推荐(0) 编辑