03 2019 档案

摘要:#include using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; const int MAXN = 1e7 + 100; const int MAXM = 3e3 + 10; inline int read() { int x = 0, ff = 1; char ch = getchar... 阅读全文
posted @ 2019-03-28 19:55 海边微风起 阅读(140) 评论(0) 推荐(0) 编辑
摘要:题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|。例如在图8-1中,S1=6+1+1+1=9,S2=1+5+3+2=11,|S1-S2|=2。每个多米诺骨牌可以旋转180°,使得上下两个方块互换 阅读全文
posted @ 2019-03-28 19:42 海边微风起 阅读(274) 评论(0) 推荐(0) 编辑
摘要:最短路,即第1短路有很多种求法,SPFA,Dijkstra等,但第k短路怎么求呢?其实也是基于Dijkstra;因为Dijkstra用的是堆优化,这样保证每次弹出来的都是最小值,只是求最短路只是弹出一次就返回了,我们可以用Dijkstra弹出k个距离后再返回,这样根据弹出的先后顺序能够求出1~k短路 阅读全文
posted @ 2019-03-28 12:51 海边微风起 阅读(1043) 评论(1) 推荐(1) 编辑
摘要:#include #include #include #include #include #include #include #include #include #include using namespace std; #define ll long long inline int read() { int x = 0,ff = 1; char ch = ge... 阅读全文
posted @ 2019-03-28 06:33 海边微风起 阅读(133) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std; inline int read() { int x = 0,ff = 1; char ch = getchar(); while(!isdigit(ch)) { if(ch == '-') ff = -1; ch = getchar(); } while(isdig... 阅读全文
posted @ 2019-03-27 20:47 海边微风起 阅读(189) 评论(0) 推荐(0) 编辑
摘要:#include using namespace std; #define ll long long #define INF 0x3f3f3f3f #define MAXN 300010 #define MAXM 3010 #define _ 0 inline int read() { int x = 0,ff = 1, ch = getchar(); while(!i... 阅读全文
posted @ 2019-03-26 13:48 海边微风起 阅读(169) 评论(0) 推荐(0) 编辑
摘要:给出一道例题 poj2823 我们知道,在暴力枚举的过程中,有一个地方是重复比较了,就是在找当前的f(i)的时候,i的前面其它m-1个数在算f(i-1)的时候我们就比较过了。当你一个个往下找时,每一次都是少一个然后多一个,如果少的不是最大值,然后再问新加进来的,看起来很省时间对吧,那么如果少了的是最 阅读全文
posted @ 2019-03-26 09:42 海边微风起 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一 阅读全文
posted @ 2019-03-25 21:14 海边微风起 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1.0/1背包 2.完全背包 3.多重背包 二进制优化: 阅读全文
posted @ 2019-03-25 11:00 海边微风起 阅读(123) 评论(0) 推荐(0) 编辑
摘要:描述 【简化版题意】给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。 我们一共有N个OIER打算参加这个泼水节,同时很凑巧的是正好有N个水龙头(至于为什么,我不解释)。N个水龙头之间正好有N-1条小道,并且每个水龙头 阅读全文
posted @ 2019-03-18 17:08 海边微风起 阅读(181) 评论(0) 推荐(0) 编辑
摘要:题目描述 给出一个序列a, 求a的最长上升子序列 输入输出格式 输入格式: 第一行是一个数n, 接下来一行,每行为n个数 输出格式: 一个数,即最长上升子序列的长度 朴素版的lis是O(N ^ 2)的做法,这里就不在给出;当数据大时很容易被卡,通过二分优化 + 贪心可以优化成为O(NlogN),首先 阅读全文
posted @ 2019-03-13 13:52 海边微风起 阅读(613) 评论(0) 推荐(0) 编辑
摘要:题目描述 小C最近学了很多最小生成树的算法,Prim算法、Kurskal算法、消圈算法等等。正当小C洋洋得意之时,小P又来泼小C冷水了。小P说,让小C求出一个无向图的次小生成树,而且这个次小生成树还得是严格次小的,也就是说:如果最小生成树选择的边集是EM,严格次小生成树选择的边集是ES,那么需要满足 阅读全文
posted @ 2019-03-11 13:12 海边微风起 阅读(469) 评论(2) 推荐(1) 编辑
摘要:一个点只能有两个状态,要么连线,要么不连;所以让新加入的这个点和所有边连线,能将图分成两个部分,所以此时的方案数就是两个部分的累计和;还有一种情况是这个点不和任何点相连,所以要单独加上f[i - 1]; 阅读全文
posted @ 2019-03-08 13:34 海边微风起 阅读(362) 评论(0) 推荐(0) 编辑
摘要:一道类似于dp的topsort,求出前缀和和dp式就很好写了 阅读全文
posted @ 2019-03-03 16:37 海边微风起 阅读(256) 评论(0) 推荐(0) 编辑
摘要:一道很水的topsort,唉?怎么交了14遍...(某人用我的代码刚好卡过,我怎么过不去...【鄙视】【鄙视】【鄙视】) 以下代码会很快↓↓↓ 阅读全文
posted @ 2019-03-01 13:42 海边微风起 阅读(203) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示