随笔分类 -  算法

摘要:好久没有1A题啦♪(^∇^*) 一个sb建图,我居然调样例调了10min 看起来是双向边,其实在建图的时候要当成有向图, 否则他会时间倒流(233) 把每个点裂成k个点,然后把每条边裂成4条边(正向反向&膜不膜) (话说我好像不会用openlivewriter贴代码,尴尬了) 阅读全文
posted @ 2017-08-10 09:08 汪立超 阅读(177) 评论(0) 推荐(0)
摘要:听说标算的点数是2^(n+1)级别的,也不知道我是不是比标算优一点? (话说这种题一眼看过去怎么跟题答一样) 然而并不是题答,没法手玩,来考虑一下一般解法: 考虑一个规模较小的问题:最后一位一定是0 不难发现变成了条件完全相同的一个子问题 再把最后一位加上 那么总共2^(n-1)个答案中的一部分会翻 阅读全文
posted @ 2017-08-01 19:18 汪立超 阅读(408) 评论(0) 推荐(0)
摘要:因为他的相似是在排完序下的 那我就在排序的情况下hash啊 这怎么hash啊 主席树啊! 没了 阅读全文
posted @ 2017-07-31 09:40 汪立超 阅读(235) 评论(0) 推荐(0)
摘要:1 //一些点一些圆,过圆不能连线,相邻点不能连线,问最多连几条线 2 //计算几何模板+区间dp 3 //关键是判断圆和线段是否相交 4 #include 5 #include 6 #include 7 #define N 500 8 #define ll long long 9 #define sqr(x) ((x)*(x)) 10 using namespace... 阅读全文
posted @ 2017-07-09 20:56 汪立超 阅读(253) 评论(0) 推荐(0)
摘要:1 //极角排序 2 #include 3 #define sqr(x) ((x)*(x)) 4 using namespace std; 5 int n,st[200001],top; 6 struct POI 7 { 8 int x,y; 9 POI() 10 { 11 x=y=0; 12 } 13 POI(int ... 阅读全文
posted @ 2017-07-09 16:27 汪立超 阅读(175) 评论(0) 推荐(0)
摘要:比赛的时候口胡这道题口胡了一年,看完题解被教做人 题意:有n只火鸡,m个猎人按序来杀火鸡,从自己预先选的两只中杀一只,问有多少火鸡对可以同时存活 考虑对于每一只火鸡i,按时间逆序维护一个最小的集合Si,满足当前时间其中的所有火鸡都活着才能保证最后火鸡i活下 在当前操作的最前面加入新的操作x y对结果 阅读全文
posted @ 2017-07-09 16:23 汪立超 阅读(492) 评论(0) 推荐(0)
摘要:从高到低按位贪心,讨论一下初始0或1,分别暴力算出结果是什么 如果一开始0就能得1当然直接ans垒起来 如果1能得1而且当前m够用,那也垒起来,同时m减掉 否则gg 2min的代码 阅读全文
posted @ 2017-05-19 18:45 汪立超 阅读(544) 评论(0) 推荐(0)
摘要:思路比较显然:二分答案,流流流 但是实现的时候感觉自己数学捉急。。 一开始算了个直线到点距离。。。。 应该是线段到点距离 阅读全文
posted @ 2017-05-17 16:08 汪立超 阅读(341) 评论(0) 推荐(0)
摘要:自己尝试敲后缀数组,发现难看(tiao)的不行,于是抄了板子 考虑建出hei以后转化出的问题: 对于一个数组中权值大于等于k的连续部分,求取两个数的方案数和两数积的最大值 (好气啊,可以有负数) 把询问倒序以后相当于连续部分之间会动态加元素,使他们连起来 维护一段极大连续段的最大值、最小值、长度,保 阅读全文
posted @ 2017-05-12 12:58 汪立超 阅读(187) 评论(0) 推荐(0)
摘要:和上一题差不多,一个是μ*I=e,一个是φ*I=Id 稍改就得到了这题的代码 (我会告诉你我一开始逆元算错了吗) 阅读全文
posted @ 2017-05-10 20:18 汪立超 阅读(201) 评论(0) 推荐(0)
摘要:虽然都写了,过也过了,还是觉得杜教筛的复杂度好玄学 设f*g=h,∑f=S, 则∑h=∑f(i)S(n/i下取整) 把i=1时单独拿出来,得到 S(n)=(∑h-∑2->n f(i)S(n/i下取整) 右边的部分可以分块解决 递归一下,≤一个阈值的暴力表出来 注意阈值以上的也要记忆化 复杂度不会算, 阅读全文
posted @ 2017-05-10 16:32 汪立超 阅读(159) 评论(0) 推荐(0)
摘要:求次大公约数 因为所有公约数一定是最大公约数的约数 所以次大公约数一定是 最大公约数/它最小的质因数 因为有一个数是确定的,只要预处理出a1的所有质因数(小于logn个)每次暴力检查即可 阅读全文
posted @ 2017-05-10 13:40 汪立超 阅读(235) 评论(0) 推荐(0)
摘要:好气啊,没开longlong又biubiu了 底层: 用hash或者奇奇怪怪的算法兹磁logn求最长公共前后缀 思路: 统计出从一个点开始和结束的形如AA的子串的个数 统计的时候把相邻的结果相乘加起来就好了 阅读全文
posted @ 2017-05-10 13:14 汪立超 阅读(287) 评论(0) 推荐(0)
摘要:大哲哥的讲课内容 根据期望的线性性,得到总期望为各个点被轰的概率(不会证,好像是这样吧) 传递闭包解决出每个点的祖先(能到达它的点)就能算概率了 bitset能贡献1/w的复杂度,而且导致Floyd只剩下两个for了(一点都不像经典Floyd) 阅读全文
posted @ 2017-05-09 11:38 汪立超 阅读(232) 评论(0) 推荐(0)
摘要:为了便于考虑,把删除反序变为增加 于是就变成关于权值和位置和时间的三维数点 一波cdq一波树状数组教做人 (神TM需要longlong,80了一发) 阅读全文
posted @ 2017-05-07 13:54 汪立超 阅读(193) 评论(0) 推荐(0)
摘要:大早上的做了一道三维数点一道五位数点,神清气爽! 先给一维排序,变成一个奇怪的动态的二维数点(相当于有一个扫描面扫过去,导致一系列的加点和询问) 然后cdq分治,再变回静态,考虑前半段对后半段的影响 这时对第二维排序,又变成动态一维数点 树状数组屠之 (不妨再cdq一次变成零维数点,也就是询问一个询 阅读全文
posted @ 2017-04-25 11:06 汪立超 阅读(887) 评论(0) 推荐(0)
摘要:由于做的时候看的是中文题面,第一遍写就被卡题意了:还以为每一条都要过x,那么就是一道动态树根选择2y个叶子的奇怪题目 交完0分gg,才发现题目看错了╮(╯▽╰)╭ the node containing the candy is adjacent to at least one rope cover 阅读全文
posted @ 2017-02-28 19:55 汪立超 阅读(325) 评论(0) 推荐(0)
摘要:由于是单组数据,强行不分块O(n)过 线性筛部分非常神奇,用了一个奇妙的推导(懒得写了) 阅读全文
posted @ 2017-01-17 18:22 汪立超 阅读(415) 评论(0) 推荐(0)
摘要:属于结果的和好求但是结果不好求的题 (轻易能得到以k的倍数为最大公约数的对数,但是不好直接求k) 所以一波反演结束 其实反演的时候完全没有反演的感觉,就是不停地恒等变形 算是懵逼乌斯反演最简单的例题 改天(老是拖延。。。)总结一下懵逼乌斯反演相关知识点 阅读全文
posted @ 2017-01-16 20:58 汪立超 阅读(210) 评论(0) 推荐(0)
摘要:一种网络流建图的思路吧,改天最好整理一波网络流建图思路 阅读全文
posted @ 2017-01-16 20:51 汪立超 阅读(193) 评论(0) 推荐(0)