自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

VOCACODE

id=nonamenotitle,v++:-)

  • 博客(23)
  • 收藏
  • 关注

原创 LCA(最近公共祖先)倍增法模板及总结

还是markdownmarkdown编辑器好啊 写lca写了一段时间 有ST表的在线查询方法但是我一直没写AC过。。。。所以先把倍增的丢这里好了 复杂度O(nlogn)O(nlogn) ,nn是dfs用的 lognlogn是倍增往上跳用的。。。。然后大致的思路就是 在dfsdfs时记每个点的深度 求2点lcalca时先将两点跳到同一深度 再一起跳到同一点 至于每个这样的距离一定会由2的整次幂组成

2017-04-03 10:41:06 689

原创 非递归的n顶点m颜色点着色问题

这应该是普及组都应该会的玩意吧。。。 做组合数学的数学题时,做到了一个求6顶点4颜色点着色种数的题,恕我直言,我不会用漂亮的方法来做,然而我这个不氪金的网游一样的脑袋就想着去写个程序试试,结果发现我居然连深搜都无法写出正确结果。再加上昨天CF史上新低,居然一题都没过吓坏了我们学校的学长。是时候反思一下了,省选临近,虽然我是凑数的但是也不能掉以轻心啊。刚刚是读不读都没什么影响的前言,下面正文。如前面

2017-03-30 21:23:04 1044

原创 UVa1479 - Graph and Queries图询问(Treap名次树)

为什么大家写200行的题我要写400行才过啊QAQ。。。。。 详解在代码注释中 这题真的写了好久 从自己写完到、调试到和刘汝佳的标程核对 前后花了半上午+一下午时间QAQ 程序见下 很长确实,但是可读性我觉得比别人是高了很多的#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <

2017-03-29 22:13:46 520

原创 [网络流24题-5] cogs739 运输问题

cogs739题目最小费用最大流问题;我们想要满足这样的一些条件:首先货物供需平衡,然后满足总运输费用最大、最小的条件。为了使得供需平衡,我们需要同时约束商店和仓库的货物运输,约束的方法是增加源点和汇点,在每个点的入边和出边中选择一个来约束它;于是就有这样的一个模型:增加超级源点s\mathcal s和超级汇点t\mathcal t,我们建立从s到商店容量为aia_i费用为0的边;对立的我们建立从每

2017-03-28 22:37:13 433

原创 [网络流24题-4]cogs729 圆桌聚餐

我发现我的网络流真的建模很差。。。。这题2星的难度,我觉得我完全可以做下来,但是最终还是无法设计出一个显式的方案,或者说两个限制条件没有结合起来;最终看了hzwer神犇的题解才明白。题目传送cogs729圆桌聚餐首先他说有mm个公司, 每个公司有pi(0≤i≤m)p_i(0 \le i \le m),有nn张桌子,每张桌子有容量ci(0≤i≤n)c_i(0\le i \le n) 求所有代表坐座位的

2017-03-26 16:10:18 418

原创 [网络流24题-3]cogs439 软件补丁(详解)

根本不是网络流的题。。。?不过算是有一个重要的思想吧,我之前怎样都不会想到这样的方式去建图。题目传送cogs439软件补丁题意看他的描述我是没懂的,看他的样例就差不多明白了。刚开始我没有意识到一个补丁是可以用多次的,看着数据小用了一个暴搜,结果答案不对;后来发现补丁可以用多次,就把标记数组给取消了,结果爆了栈,为什么呢?因为光是样例里面就有一个不需要任何错误也不需要任何错误存在的补丁,那么每一个状态

2017-03-26 11:47:39 512

原创 [网络流24题-2]cogs396魔术球问题

至于那个贪心的证明我是没整出来的。。。看了黑书,可能是我没有认真看吧。 最小路径点覆盖:用最少的边去覆盖尽可能多的点(全部)。黑书上介绍了一个求最小路径点覆盖的方法,很值得借鉴,那就是每个点ii转化为一个ii和i′i',当原图存在边(i,j)(i,j)时,连边(i,j′)(i,j'),求这个S−T\mathcal S-T割的最大二分图匹配,再用点数-这个值即为最小路径点覆盖。为什么呢?因为假定

2017-03-25 21:37:18 652

原创 [网络流24题-1]cogs14搭配飞行员

你们就当我又水了一贴吧。。。 纯二分图匹配。。匈牙利算法。。。#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <vector>#include <queue>using namespace std;const int maxn=20

2017-03-25 21:20:04 361

原创 超大的变体背包问题(折半枚举/双向搜索)

来源:挑战程序设计竞赛p162 最近又遇到了这个问题 来总结一下好了 算是补档吧。。。问题? 有N\mathcal N件物品和一个容量为W\mathcal W的背包。第i件物品的费用是wiw_i,价值是viv_i。求解在刚好为mm的重量下,最多可选几个物品?范围 1≤n≤401\le n \le 40 wi,vi≤109w_i,v_i\le 10^9这样明显不能用普通动态规划了吧

2017-03-23 23:53:28 702

原创 Uva1401/LA3942 Remember the Word(trie模板)

LRJ书上例题,但是自己在思考过程中挺有收获。。。。 UVA1401题目直达 题目大意是拆解字符串,有几种方法。 简单思路:设dp[i]dp[i]为字符串从第i位开始的拆解方法;仔细一想的话就会发现这样的关系:dp[i]=∑j∈[1,S]dp[i+len[j]]dp[i]=\sum_{j\in[1,S]} dp[i+len[j]] 其中SS为单词总数,j为单词编号。 使用trie可以实现,

2017-03-20 23:05:58 351

原创 匈牙利算法模板

算是补档? cogs14裸二分图模板#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <vector>#include <queue>using namespace std;const int maxn=200;vector<int

2017-03-20 22:53:01 448

原创 gcd欧几里德算法/extgcd扩展欧几里德算法以及在解不定方程中的应用

这个应该是我在noip前就应该会的东西 ,但是当时也许只是记下了代码吧 ,现在有诸多的不理解。后来借着书和几篇博客弄懂了并小证了一下,鉴于网上有些博客关于这个的写的真的不好看,所以自己来总结一下,顺带以后也能看。 顺带一提,gcd(a,b)gcd(a,b)表示a,b的最大公约数。欧几里德算法辗转相除法求最大公约数问题,同可求最小公倍数。 既然是辗转相除法,自然就是%%%,%到互相整除为止。代码也

2017-03-19 21:10:15 1358

原创 欧拉函数总结学习

你可以看这几篇欧拉函数了解一下,也可以看我的博客 继莫比乌斯反演以后 我又观摩了几个重要的数学知识,虽然自己面对大厦一般的数学还只是浅尝一勺而已。自己也发现不能被一些东西误导,更不能总用多疑的心去面对生活。扯远了,说一下这几个东西吧。欧拉函数欧拉函数:指小于等于n的正整数中与n互质的数的个数。用ϕ(n)\phi (n)表示欧拉函数。 性质 1 积性函数,这里不给证明。。 2 ϕ(1)=1\p

2017-03-18 00:32:15 676

原创 bzoj2463谁能赢呢?(博弈论)

你们就当我水了一贴好了 我想到了当时poj上的那个funnygame,不过这个是在bzoj水题列表里看到的。既然来了就讲一下吧,这个题为什么不用搜索之类的做而用一个简单的奇偶判定呢?当然是题目所说的“最优解”限制。即,如果移到了一个角落一样的地方,后者一定会将它移植到这个角落使其达成一个必胜态,而不会出现在最终的必胜态中还有格子没走的情况。#include <iostream>#include

2017-03-17 23:54:30 473

原创 POJ3709 K-Anonymous Sequence(k匿名序列)(斜率优化dp)

poj3709题目传送 看到这名字第一反应是那个面具 斜率优化的动态规划,第一次做斜率优化的dp题。。。而且自己也不会,是看着书慢慢弄懂的。书是《挑战》p341 ,这一面有很多错误,刚开始自己写完后照书上一对,一模一样后发现答案很不对,后来才发现书上的状态转移方程存在错误(在下面的公式里你自己对一遍就知道了) 总之就是,书上的不一定对,自己领悟并理解才最重要。首先不难得出,a0a_0是最小的值,

2017-03-13 23:08:08 894

原创 多重背包(单调队列(滑动最大值)+二进制方法)

自己复习用 1.单调队列法 详见《挑战》p340 然后我其实不懂为什么在deq[s]==j-m[i]时去掉队首,过几天懂了我来更新,如果你知道的话请告诉我qq2298763866#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <vector>#include <algor

2017-03-13 01:05:08 653

原创 POJ3683 Priest John's Busiest Day(神父约翰的忙日)题解(2-SAT及布尔方程运用)

挑战程序设计竞赛p326例题 poj3683 (奶牛呢) 如果你还不了解布尔方程和蕴含式,请先移步蕴含式是什么和布尔方程简介,运算法则 有些很巧妙的地方和技巧、想要总结一下。 首先这题我们考虑到,每个仪式可以在开始或结束时举行,可以用一个有补的变量表示;这时想到了布尔变量,对于一个仪式,我们用xixi 表示它在刚开始时举行,若!xi!xi 则表示它在结束时举行。我们对于不同时发生的区间记为

2017-03-11 00:11:36 737

原创 网络流与dinic/Fulkerson模板以及相关题

膜板题 ->排水沟poj1273 网络流弄了将近一个月不过还是先总结一下吧一些概念一 网络流满足三个性质: 1 容量限制 每条边不能够提供大于其流量的边,(反向边要加上对应的增广流量是为了满足流量守恒) 2 对称性 f(u,v)=-f(v,u) 3 流量守恒 所有点的流入量等于流出量 通俗点说就是你不能从1号城市运3个冰球到2号,而运到2

2017-03-09 20:36:54 402

原创 UVa 213 信息解码Message Decoding

不是难题,但卡了我一段时间 看了刘汝佳的书 慢慢的就明白了 主要由对编码串的处理构成 这部分相信大家看代码都能懂 AC代码(和书上差不多,但算是一个总结吧)#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <algorithm>#include <vector>#incl

2017-02-10 23:50:04 383

原创 noi.openjudge 7834题解 分成互质组(分层递归)

这不是个难题,却竟然让我几次得不了满分(因为细节上的问题),前几次忘记了是怎么写的只有3分,后来忘记push_back(a[1])得5分,再后来才AC 具体的怎么想应该很清楚,对于一个状态(x,num),指判断到第x个数,分了num个组;组可以用vector存储这样对于成员个数会访问的快一些。

2016-11-14 23:05:14 1132

原创 素数判定、埃氏筛法与整数分解

素数判定其实和数学里的判定没有过多的区别 只是要注意一定是i*i<=n 如果你用sqrt那玩意的话,可能会超时,具体是因为函数内部的实现和这个有点不同 这个大家应该都会,我这里就不献丑了 这里先说用vector去记录n的约数的方法(整数的分解)#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm

2016-11-11 19:15:37 455

原创 noip 2006 能量项链 题解

发现自己的水平也在慢慢提升。。。。 这个题可以想成矩阵的连乘(实际上就是) 矩阵连乘是区间dp的一种,这里不详细说,在算法书上都有介绍之前以为是珠子只能连续处理 搞了个环形队列+链表 洋洋洒洒100来行后 发现只有10分 后来听教练讲了矩阵连乘才恍然大悟#include <iostream>#include <cstdio>#include <cstring>#include <cst

2016-11-10 22:15:29 706

原创 入oi以后的感想

怎么说呢,永远都不要觉得自己比别人厉害,自己要学的还有很多,很多时候浮躁是没有必要的,不能被一些看起来强大的人或事物误导吧

2016-11-10 19:25:05 1071

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除