
Codeforces Div. 2:D
文章平均质量分 94
程序喵Eric
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round #340 (Div. 2) D. Polyline 计算几何,折线
几何,折线题意 给出3个点的坐标, 用折线把3个点连起来,要求每个线段 parallel to the coordinate axes(平行于坐标轴),然后线段没有交叉 和 self-touches(可能是说不能成环), 求出需要的最小的线段个数所以, 如果(x1 == x2 && x2 == x3) || (y1 == y2 && y2 == y3) 则可以一条线段 如果 (x1 == x2) || (x2 == x3) || (x1 == x3) || (y1 ==原创 2016-09-01 01:39:18 · 1182 阅读 · 1 评论 -
Codeforces Round #372 (Div. 2) D. Complete The Graph 图论、最短路、Dijkstra、路径、分配部分边权
图论、最短路、Dijkstra、路径、分配部分边权首先去点2种不可能的情况:1、不记录w == 0 的边的情况下,求出dis[e], 如果 dis[e] < L, 则 w == 0 的边无论怎样分配权值,src 到 e 的最短路 都是这个 dis[e], ans = “NO";2、把w == 0 的边赋值为1,然后把这些 w == 0的边记录下来,跑一边 Dijkstra,如果 dis[e] > L, 则 由于 w > 0 即 w >= 1, 则无论怎样dis[e] 都大于 L, ans = ”NO“原创 2016-09-23 19:07:27 · 1702 阅读 · 1 评论 -
Codeforces Round #376 (Div. 2) F. Video Cards 数论+数据结构+前缀和
数论+数据结构+前缀和就是以前用树状数组的感觉,比如有一个数x,就在以x为下标的地方插入一个 1,如果删除这个就在下标为x的地方插入一个-1, 这样要查询小于等于k的数的个数只要get(k)就好。这里不需要维护,所以只要用一个前缀和数组,就可以直接预处理出来。即对于每个a[i]就在 sum[a[i]]++;读入完以后预处理出前缀和,for i = 1 ~ maxa, sum[i] += sum[i - 1];然后扫一遍i = 1 ~ maxa,对于每个i在a[maxn]数组中出现过的i,(即 s原创 2016-10-22 12:56:44 · 1461 阅读 · 1 评论 -
Codeforces Round #382 (Div. 2) D. Taxes 数论、哥德巴赫猜想
题意:给定一个数n,n可以分成k个数的和(ni >= 2 , sum{ni} == n, k 可以为 1),花费为ni的除本身外的最大因数,求花费和的最小值。数论、哥德巴赫猜想任意大于2的偶数可以拆分为两个质数之和然后2是素数所以ans = 1;当n 为 奇数时判断是否为素数,如果是素数则 ans = 1;如果不是,则判断 n - 2是否为素数,如果是则可以把n拆成一个素数和2 ans = 2;否则只能拆成一个素数+一个大于2的偶数 ans = 3;复杂度 O(sqrt(n))原创 2016-11-28 03:11:09 · 1260 阅读 · 1 评论