奇技淫巧
Arlia
老年人记性不好
展开
-
vector存边
vector存边,访问时,应该写成:for(int i=ve[p].size()-1;i>=0;i--){...}这样只用求一次ve[p].size(),避免超时原创 2018-06-23 14:24:29 · 507 阅读 · 0 评论 -
让我来吐槽几句
现在只能在家里打比赛了,然后在家里看题解,不能到机房去听大佬讲课……这个感觉实在是……非常难受啊!在家里远没有在机房打比赛的感觉好,毕竟家总是温暖的,令人昏昏欲睡特别明显的一点就是,我现在连暴力都打不对了,一个很简单的暴力程序还需要大费周章地调试我曾经最擅长打暴力啊[泪奔]这直接导致每天的分数严重缩水QAQ令人窒息不过也算是暴露了一些问题吧取模运算时(包括加法和乘法)...原创 2018-08-27 21:40:17 · 374 阅读 · 0 评论 -
NKOJ3102 取数 [堆][链表]
# NKOJ3102 取数 [堆][链表]题目传送门题解一种很巧妙的链表使用方法。首先考虑一种贪心的做法,把每个数放入大根堆,每次取最大的一个数(跳过与已取的数相邻的数)但这样的做法可能会有问题:如果最大的数比与它相邻两数的和要小,那么答案就可能不是最优的。比如一个数列里面全是类似于2 4 3的子数列,取2和3就比取4要优。所以我们需要设计一种改悔的方法,使得选择堆顶元...原创 2018-08-17 07:31:16 · 294 阅读 · 0 评论 -
#270 关灯 [DP]
#270 关灯 [DP]题目传送门题解倒着DP。这是道没有枚举上限的DP,所以倒着来应该是最好的。分析可得,倒数第iii个时刻,按下某一个灯最多能够影响到iii个灯。所以就可以以这个信息为关键转移。设f[i][s]f[i][s]f[i][s]表示倒数第iii个时刻,所有灯的开关状况为sss的方案是否可行。具体转移看代码。注意这里实际上并没有得到具体是哪个灯被操作了,...原创 2018-08-13 22:36:38 · 231 阅读 · 0 评论 -
#261 萌新拆塔 [状压DP][三进制]
#261 萌新拆塔 [状压DP][三进制]题目传送门题解这道题真的很毒瘤啊(杜老师应该是只出毒瘤题的),当时看到这道题如此长的题面就直接挂机了[微笑];而且我还真的以为这道题是“10k模拟+玄学剪枝”,所以根本没有往DP那里去想……可能这就是菜鸡的最高境界吧……如果没有模仿怪,那么这道题就应该是一个一维的二进制DP(不会存在什么时候吃宝石更优的问题),每一位表示这只怪兽是否被打...原创 2018-08-13 13:49:01 · 261 阅读 · 0 评论 -
附加赛 D [奇技淫巧]
附加赛 D [奇技淫巧]题解显然,第一二种询问是等价的,可以用前缀异或和解决。对于第三种询问,可以维护一个链表,一个数指向下一个与它相等的数的位置,并记下上一个与它相等的数的位置。询问排序后(左端点为第一关键字,右端点为第二关键字),使用树状数组处理询问,树状数组的下标是同学的编号。当删除一个数的时候,只需要把这个数指向的下一个位置加入树状数组。代码#inc...原创 2018-08-08 15:06:07 · 257 阅读 · 0 评论 -
DP小结
DP小结DP本质就是状态压缩——只记录和答案有关的值。所以DP的解法大概就是: ①不断探索问题性质(数位DP体现得比较明显,如BZOJ1026 windy数,还有一道缺了题号的题) ②减少那些和答案有关的值的个数(比如要从题目中筛选信息来定出状态,列出方程)。 ——scαpe只是说说而已,DP并没有什么定式。一些方法这些方法说不定可以提供一些思...原创 2018-08-01 13:36:11 · 177 阅读 · 0 评论 -
BZOJ1087 [SCOI2005]互不侵犯King [递推][状态压缩]
BZOJ1087 [SCOI2005]互不侵犯King [递推][状态压缩]Description在N×NN×NN×N的棋盘里面放KKK个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。Input只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N ...原创 2018-07-24 20:39:07 · 223 阅读 · 0 评论 -
洛谷1983 车站分级 [拓扑排序][建图]
洛谷1983 车站分级 [拓扑排序][建图]题目描述一条单向的铁路线上,依次有编号为1,2,…,n1,2,…,n1, 2, …, n的nnn个火车站。每个火车站都有一个级别,最低为111级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站xxx,则始发站、终点站之间所有级别大于等于火车站xxx的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的...原创 2018-07-24 22:12:20 · 383 阅读 · 0 评论 -
在数轴上处理大规模数据
1.倍增(LCA, ST表)2.线段树3.差分4.分块原创 2018-07-12 11:17:47 · 175 阅读 · 0 评论 -
SPFA的优化
SPFA的优化今天打比赛被朴素的SPFA判环卡了,超时丢了30= = 然而在bzoj上是AC的优化:Orange大佬:SLF和LLL优化递归优化(剪枝)递归优化就是把朴素的SPFA换成了DFS版(一般用于需要判环的情况)注意disdisdis数组要初始化代码#include<iostream>#include<cstdio>#...原创 2018-07-10 11:36:10 · 649 阅读 · 0 评论 -
判环的方法
判环的方法SPFA O(n*n)(n为点数)拓扑排序 可以有重边 O(n)Tarjan 实质上也是拓扑排序有待完善原创 2018-05-20 13:25:25 · 1129 阅读 · 0 评论 -
Log2打表
log2函数很慢,因此打表Log[0]=-1;for(int i=1;i<=n;i++)Log[i]=Log[i>>1]+1;原创 2018-06-23 14:49:11 · 1772 阅读 · 0 评论 -
最大值最小,最小值最大
最大值最小,最小值最大,考虑:贪心(最小最大生成树)、二分答案原创 2018-06-23 14:27:52 · 1074 阅读 · 0 评论 -
一些算法的时间复杂度
树型结构,可考虑:LCA,DFS序O(N)算法各种字符串算法,Tarjan,TopSort,各种差分(O(1)修改),SparseTable(O(1)查询)O(logN)算法各种树上操作,比如LCA,线段树...原创 2018-06-23 14:26:37 · 253 阅读 · 0 评论 -
关于LIS和一类可以用树状数组优化的DP
博主写得很详尽:关于LIS和一类可以用树状数组优化的DP原创 2018-08-25 14:31:41 · 583 阅读 · 0 评论