Atcoder && BestCoder
文章平均质量分 97
ProLightsfxjh
这个作者很懒,什么都没留下…
展开
-
BestCoder Round #75 King's Cake 模拟&&优化 || gcd
It is the king's birthday before the military parade . The ministers prepared a rectangle cake of size n \times m(1\le n, m \le 10000)n×m(1≤n,m≤10000) . The king plans to cut the cake himself. But he has a strange habit of cutting cakes. Each time, he will原创 2016-03-12 22:50:01 · 1219 阅读 · 0 评论 -
BestCoder Round #75 King's Order dp:数位dp
After the king's speech , everyone is encouraged. But the war is not over. The king needs to give orders from time to time. But sometimes he can not speak things well. So in his order there are some ones like this: "Let the group-p-p three come to me". As原创 2016-03-13 14:24:22 · 1330 阅读 · 0 评论 -
2016"百度之星" - 资格赛(Astar Round1) Problem D 简单题
做一个题就可以进初赛,所以挑了个简单的题做了下,还是TLE 了好几次 汗, 然后用string sort 936ms 卡过 (┬_┬)试了map+bitset, 用不了,试了自己搞个数组+map, 用不了然后用string初始化为200多个0,然后每个字母就变成1,TLE, 而且 显然也不对然后用直接字符串读取进来, 然后用map<map , > 结果超时了然后突然想到了,string 也可以排序, 这样用map[string]++, 才来个卡过题目虽然是简单题,但还是有所收获,毕竟新手嘿嘿原创 2016-05-16 01:52:54 · 4536 阅读 · 2 评论 -
HDU 5904 LCIS __ dp、LCIS
dp、LCIS、 最长公共上升子序列且每次递增 1 状态定义:dpa[i] 表示以ai结尾的每次递增 1 的 LIS 的最大长度, dpb[j] 表示以bi结尾的的每次递增 1 的 LIS 的最大长度,边界:当 i == 1时, dpa[i] = 1, dpb[i] = 1;状态转移方程: dpa[i] = dpa[Inda[a[i] - 1]] + 1; dpa[i] = max(dpa[i], dpa[Inda[原创 2016-09-27 23:49:35 · 623 阅读 · 0 评论 -
AtCoder Regular Contest 089 D - Checker 思维题、点的转移、二维前缀和
题意:用k*k的黑白正方形交替填充二维坐标平面如上图,现给出n个方案(x, y, color表示坐标(x,y)的颜色为color),问最多有多少方案能够同时满足。思维题、点的转移、二维前缀和首先要想到把所有的点转移到平面{(0,0)~(k-1,k-1)}内。1、按照45度向量移动不会改变颜色,modx = x / k, mody = y / k; x -= min(modx, mody) * k; y -= min(modx, mody) * k;2、跳动2*k格也不会改变颜色,所以接下来if原创 2018-02-01 18:58:41 · 583 阅读 · 0 评论 -
AtCoder Petrozavodsk Contest 001 C - Vacant Seat 交互题、带分类讨论的二分
题意:交互题,有一个周长为n的环形(3<=n<=99999),每一格是一个座位,每个位置要么坐着一个男人M要么女人F要么空的V,但安排座位M和M不能并列且F和F不能并列,所以n个座位中至少一个座位是空着的,通过交换的方式在20步之内找出一个空着的座位的坐标。交互题、带分类讨论的二分先输出l = 0 和 r = n-1,分别记录 a[l] 和 a[r]的是M或者F或者V。然后二分mid,然后r和mid之间有(r - mid - 1)个位置,如果有奇数个位置,则当a[r] == a[mid]时,则在(原创 2018-02-05 20:50:01 · 867 阅读 · 0 评论 -
AtCoder Petrozavodsk Contest 001 D - Forest 连通块+并查集+贪心
题意:给出一个由n个点m条边构成的森林,每个点有个权值val[i],额外加一条边(u,v)的花费是val[u] + val[v],且u、v只能被用到一次,添加一些边使得图连通,求最小花费。连通块+并查集+贪心可以先用并查集跑出连通块的个数为x,则需要添加的边的数量为x-1条,需要使用的点的个数为2*(x-1),所以只要n>=2*(x-1)则必定有解。所以我们只要贪心的选出这2*(x-1)个点即可,故先在每个连通块选择一个权值最小的点,这样可以保证每个连通块都会有点和其它的连通块相连,然后剩余的2*(x-原创 2018-02-05 21:52:00 · 783 阅读 · 2 评论