上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 树链剖分总结 原理 将树边归到至多$logn$条连续树边构成的重边中,再在各条重边上建线段树,每次操作先遍历所有经过的重边再依次线段树上操作,复杂度${logn}^2$ 树剖代码量并不大,只是其包含了线段树;树剖本身并不难,只是看你怎么维护线段树 实现 初始化 两次$dfs$求得所需信息 第一次求得 阅读全文
posted @ 2019-07-24 15:57 Santiego 阅读(251) 评论(0) 推荐(0) 编辑
摘要: rt,一个~~憨批~~错误 我,作为一个宏使用狂热爱好者, 函数当然用宏定义 于是,我在 "这道树剖题" 中大量使用了此宏,比如下面: cpp if(l 阅读全文
posted @ 2019-07-24 15:26 Santiego 阅读(220) 评论(0) 推荐(0) 编辑
摘要: Sublime Text 3 C++ 配置 先将 添加至环境变量中,然后打开Sublime Text,菜单 两种模式, 直接在Sublime Text中输出; 则弹出cmd窗口 Build, 切换模式 阅读全文
posted @ 2019-07-23 18:48 Santiego 阅读(354) 评论(0) 推荐(0) 编辑
摘要: [POI2008]BLO Blockade 割点 "题面" 容易想到用$\text{Tarjan}$求割点。对于非割点,会损失$2\times(n 1)$次访问(注意是互相访问,所以要乘2);对于割点,损失的访问次数即为$\sum^{k}_{i=1}sz[i]\times(n sz[i])$(割点被 阅读全文
posted @ 2019-07-22 22:01 Santiego 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 黑匣子 对顶堆 对顶堆,由一个小跟堆和一个大根堆组成,且 满足小跟堆堆顶大于大根堆堆顶 。 include define MAXN 200002 using namespace std; priority_queue big; priority_queue, greater sm; int a[MA 阅读全文
posted @ 2019-07-22 14:54 Santiego 阅读(126) 评论(0) 推荐(0) 编辑
摘要: spfa板子 Heap+Dijkstra都会写,突然发现spfa不会写了…… 记录是否已在队列中 更高效的 "dfs版spfa判负环" 阅读全文
posted @ 2019-07-18 09:36 Santiego 阅读(272) 评论(0) 推荐(0) 编辑
摘要: [ZJOI2009]假期的宿舍 二分图匹配匈牙利 一个人对应一张床,每个人对床可能不止一种选择,可以猜出是二分图匹配。 床只能由本校的学生提供,而需要床的有住校并且本校和外校两种人。最后统计二分图匹配对数是否等于需要的床数即可。 注意细节,认真审题。 cpp include include defi 阅读全文
posted @ 2019-07-17 19:14 Santiego 阅读(127) 评论(0) 推荐(0) 编辑
摘要: windy数 "题面 P2657 windy数" 比较简单的数位DP。但是需要注意此题与 "[CQOI2016]手机号码" 不一样,数的位数长度不定,另外根据样例1可知前一数位为前导0时也满足条件,所以要再添加一个上一位是否为前导零标记。 cpp include include define ll 阅读全文
posted @ 2019-07-14 21:09 Santiego 阅读(126) 评论(0) 推荐(0) 编辑
摘要: [CQOI2016]手机号码 用来数位DP入门,数位DP把当前是否需要限制取数范围(是否正在贴着临界值跑,即下面的 )和一切需要满足的条件全部塞进记忆化搜索参数里面就好了,具体情况转移便好了,答案为$work(R) work(L 1)$ 阅读全文
posted @ 2019-07-14 19:58 Santiego 阅读(249) 评论(0) 推荐(0) 编辑
摘要: [BJOI2019]排兵布阵 DP 比较好想的DP,设$dp[i][j]$表示第$i$个城堡时,已派出$j$个士兵。决策时,贪心派出恰好严格大于某一玩家派出的数量的两倍(不然浪费)。我们发现又可以排序预处理出$a[i][j]$表示第$i$个城堡,出兵数量第$j$大的人出兵数量(因为这样可以很容易算出 阅读全文
posted @ 2019-07-14 16:27 Santiego 阅读(433) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页