随笔分类 -  OJ--Luogu

摘要:这道题的转化很巧妙,可以把信用卡四个角的圆心看做平面上的点来做凸包,$ans$就是凸包周长加上一个圆的周长 ~~~cpp // luogu judger enable o2 include include include include using namespace std; const int 阅读全文
posted @ 2018-11-22 23:11 nianheng 阅读(163) 评论(0) 推荐(0)
摘要:倒过来处理所有询问,就变成了一道动态凸包的裸题 吐槽一下这道题只要维护上凸壳就好了,我zz了没好好看题打了两个2333 ~~~cpp // luogu judger enable o2 include include include include include define rp ( r) de 阅读全文
posted @ 2018-11-22 23:06 nianheng 阅读(192) 评论(0) 推荐(0)
摘要:求平面内四边形的最大面积 显然四个端点都应该在凸包上,就先求凸包,然后$n^2$枚举四边形对角线,对于一个点$i$,顺序枚举$j$,同时用旋转卡壳的方法去找离对角线最远的两个点。总时间复杂度$n^2$ luogu一遍过,但不知道为什么BZOJ死活TLE... ~~~cpp include inclu 阅读全文
posted @ 2018-11-22 22:46 nianheng 阅读(142) 评论(0) 推荐(0)
摘要:先将n个单词插入哈希表,记录左右端点,每次右端点往后移动,读入一个新的单词并记录下它的哈希值,如果这个单词之前没出现过那么更新$ans$和$minl$,如果左端点的单词出现了不止一次则可以往右缩,从而保证长度最短。 ~~~cpp include include include include inc 阅读全文
posted @ 2018-11-07 15:01 nianheng 阅读(123) 评论(0) 推荐(0)
摘要:吐槽一下自己代码里长的一匹的状态... $f[1000][10][10][2][2][2][2]$分别记录当前位,前一位值,前前位值,是否有前导零,是否前一个有前导零,是否有上限,是否已经满足条件 ~~~cpp include include include include using namesp 阅读全文
posted @ 2018-11-07 11:28 nianheng 阅读(124) 评论(0) 推荐(0)
摘要:很少做数位$dp$的题,做道题学习一下吧。 记忆化搜索,$f[10][10][2][2]$分别记录当前位置,上一位数,是否有前导零和是否有大小上限。 题目要满足相邻两个数相差不小于2,如果有前导零就可以无视这个限制,如果没有就要先判断一下。 ~~~cpp include include includ 阅读全文
posted @ 2018-11-07 08:54 nianheng 阅读(135) 评论(0) 推荐(0)
摘要:裸的仙人掌最大独立子集,结果一个zz的错误让我调了好久... $ inf$开始设为$0x7fffffff$结果$A_i$有负数一加就炸了 ~~~cpp include include include using namespace std; const int maxn=2e5+100,maxm=5 阅读全文
posted @ 2018-11-04 18:24 nianheng 阅读(158) 评论(0) 推荐(1)
摘要:分数规划,最大费用最大流 题意可以简化为给出一个矩阵,要求每行和每列必须且只能取一个格子,要求$sigma\ a_{i,j}/sigma\ b_{i,j}$ 最大 考虑分数规划,可以将式子转化: $sigma\ a_{i,j}/sigma\ b_{i,j}=C$ $sigma\ a_{i,j}=si 阅读全文
posted @ 2018-10-19 09:06 nianheng 阅读(105) 评论(0) 推荐(0)