
Wei个人训练
Corner Cat
这个作者很懒,什么都没留下…
展开
-
【dp】cf1188C-Array Beauty
题意给定一个序列,一个序列的美丽值为这个序列中差值最小的那个数现在给你一个长度为n数组,让你求这个数组所有长度为k的子序列的美丽值的和数组中每个数最大为1e5题解首先考虑到美丽值与序列的顺序无关,我们先把数组排一个序然后一般做法就是枚举,这里显然不行想到每个数最大为1e5,那就说明不同的美丽值个数最多1e5个现在问题就是,给你一个美丽值,问你能不能求出有多少个序列满足这个要求这样...原创 2019-07-07 14:03:15 · 546 阅读 · 0 评论 -
【计算几何,dp】-poj1294-Not Too Convex Hull
题意给你一个原点,再给你一些其他的点,给你一些橡皮筋,让你围成一些凸包,且每个凸包必须包含原点,且互相之间除了原点互不相交。问你最少围成面积是多少题解以原点为中心,极角排序一下设dp【k】【i】【j】表示我用k个橡皮筋包含从i到j的点的最少围成面积易有dp【k】【i】【j】=dp【k-1】【i】【d】+dp【1】【d+1】【j】复杂度为O(kn^3)代码#include <...原创 2019-07-13 20:53:02 · 212 阅读 · 0 评论 -
【计算几何】-poj1070-Deformed Wheel-附测试数据
题意给你一个斜坡(从左往右,斜率越来越大),再给你一个多边形,再给你一个重心,然后问你最后这个多边形的重心会在哪里,假设地面摩擦力无穷大,且运动过程中重心必须时刻保持向下。题解我们先考虑一下简单的情况就是多边形往左边滚(即逆时针旋转)设支撑点为q,重心为g,旋转角度为k那么我们得满足什么条件呢cos(angle(g-q))<=0如何确定选择的角度呢?二分就行了,判断条件就是1...原创 2019-07-09 10:28:44 · 620 阅读 · 0 评论 -
【计算几何】-poj1066-Treasure Hunt
题意有一个正方形,里面有很多线段,并且线段的2端点都在正方形上,现在问你如果我要离开这个正方形。最少穿过几个线段(正方形的边也算线段)题解暴力枚举,在正方形的边每隔0.5取一个点,计算出最小的情况,输出即可如果端点不保证是整数的情况下怎么做呢?我们把端点极角排序,取每相邻的一对端点去验证就行了代码work对应暴力枚举work2对应离散化版本#include <iostrea...原创 2019-07-08 16:30:12 · 147 阅读 · 0 评论 -
【计算几何】-poj139-Pipe
题意有一个曲折的管道,你需要从管道头往后面照射,问你能最多能照射多远题解大胆判断,枚举所有2个端点的直线一定能包括最优解注意题目没有说坐标范围,所以初始化ans的时候不能为0,应该是-inf代码#include <iostream>#include<cmath>#include<cstdio>using namespace std;cons...原创 2019-07-08 15:42:55 · 120 阅读 · 0 评论 -
【计算几何】-poj1031-Fence
题意有一个灯,有一些栏杆,定义单位光照强度的式子与距离成反比,然后一块区域的光照总和就等于单位光照强度的积分。题解积分后发现,光照总和与栏杆的形状无关,只与与由灯引出的射线形成的夹角有关,故求夹角就行求夹角的时候有一个小trick,我们可以用第一个点与灯的连线当做标志,逆时针走就加,顺时针就减,这样可以减少一些特殊情况的判断代码#include <iostream>#in...原创 2019-07-08 15:35:21 · 166 阅读 · 0 评论 -
【dp】-cf1188D-Make Equal
题意给你很多个数,操作是,选择其中一个数,让它加上2的自然数次幂,使得最后每个数相等如32 2 8输出3题解我们考虑,最后它们会变成什么,设这个数为p,那么p一定大于等于数的最大值,设这个最大值为mx,即p=mx+t(t>=0)我们可以解决这样的一个问题,我有很多数,我要把它们都进行一些操作使得每个数都变成t一个数变成t需要的操作数就是t减这个数的化为二进制中1的...原创 2019-07-08 11:00:09 · 563 阅读 · 0 评论 -
【构造】cf1129B-Wrong Answer
题意对于一个长度为n的数组我们可以求出这样的一个值 然后题目中给出了一个函数计算这个值显然这个得出不一定是正确答案现在给你一个k(1<=k<=),让你构造出一个长度不超过2000的数组,按照上述函数计算出来的值与正确值相差k。数组内每个的元素的绝对值不超过题解题目中让我们构造出差值,这意味着我们可以同时增大错误答案和正确答案。假如我们可以在构造出错误...原创 2019-06-18 16:38:57 · 281 阅读 · 0 评论 -
【构造,图论】cf1133F2-Spanning Tree with One Fixed Degree
题意给你一个图,让你构造出一个编号为1的点的度数为k的树,树的顶点数等于图的顶点数题解考虑与顶点1连接的顶点数num1去掉顶点1后,整个图被分为num2个连通块只要num2<=k<=num1就就行了代码#include <bits/stdc++.h>using namespace std;int n,m,k;const int max...原创 2019-06-17 21:59:33 · 1129 阅读 · 0 评论 -
【构造,贪心】cf1141G-Privatization of Roads in Treeland
题意给你一个无根树,然后给每一条边标上号,要求每个点所连的边的号不能有重复。现在给你一个“优惠”,你可以忽略一些点的要求问你最少要多少个号把这样的树输出出来题解考虑每个点需要多少个号,就是这个点的度数,统计每个点的度数,然后忽略度数最高的k个点。即号数等于第k+1大的度数(注意有可能忽略所有的点,但是你再怎么也得有一个号才行)然后随便随便选一个点,开始贪心dfs就行...原创 2019-06-17 18:19:39 · 196 阅读 · 0 评论 -
【构造,欧拉路径】cf1152E-Neko and Flashback
题意有一个长度为n的数组k,然后有2个长度为n-1的数组b和cb[i]=min(k[i],k[i+1]),c[i]=max(k[i],k[i+1]);然后把b,c按照一样的方法打乱得到b1,c1现在给你b1,c1,让你构造出一个数组,在经过上述操作后能得到b1,c1题解考虑题目中给的例子15 4 5 3 5 6 7 4 6我们从上往下看,分为4组(4,6),(5,7...原创 2019-06-17 17:14:20 · 226 阅读 · 0 评论 -
【构造,思维】cf1158B-The minimal unique substring
题意给n,k,让你构造一个长度为n且 最小唯一子串 长度为k的01字符串。唯一子串的意思是说,这个子串不能在这个串中找出第二个。如01010中的1010,就是一个唯一子串,010是最小唯一子串,因为里面长度为1的串,如0,1都存在多个,长度为2的串如01,10,也存在多个,但是你在这个串里找不到2个010,所以01010的最小唯一子串为101题解为了描述方便,我们使用m来表示m个0的集合,...原创 2019-06-16 09:36:23 · 295 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)
RankSolvedABCDEFGHIJ13/8916/10OOO.OO.Ø.OO: 当场通过Ø: 赛后通过.: 尚未通过A Equivalent Prefixessolved by chellychelly’s solution二分答案,建立前缀的笛卡尔树,判断笛卡尔树是否相同。时间复杂度O(nlogn)O(n ...原创 2019-07-18 19:30:45 · 474 阅读 · 0 评论