![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
挑战程序设计竞赛1
nonamenotitle
这个作者很懒,什么都没留下…
展开
-
多重背包(单调队列(滑动最大值)+二进制方法)
自己复习用 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 · 656 阅读 · 0 评论 -
超大的变体背包问题(折半枚举/双向搜索)
来源:挑战程序设计竞赛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 · 713 阅读 · 0 评论 -
POJ3709 K-Anonymous Sequence(k匿名序列)(斜率优化dp)
poj3709题目传送 看到这名字第一反应是那个面具 斜率优化的动态规划,第一次做斜率优化的dp题。。。而且自己也不会,是看着书慢慢弄懂的。书是《挑战》p341 ,这一面有很多错误,刚开始自己写完后照书上一对,一模一样后发现答案很不对,后来才发现书上的状态转移方程存在错误(在下面的公式里你自己对一遍就知道了) 总之就是,书上的不一定对,自己领悟并理解才最重要。首先不难得出,a0a_0是最小的值,原创 2017-03-13 23:08:08 · 902 阅读 · 0 评论 -
素数判定、埃氏筛法与整数分解
素数判定其实和数学里的判定没有过多的区别 只是要注意一定是i*i<=n 如果你用sqrt那玩意的话,可能会超时,具体是因为函数内部的实现和这个有点不同 这个大家应该都会,我这里就不献丑了 这里先说用vector去记录n的约数的方法(整数的分解)#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm原创 2016-11-11 19:15:37 · 459 阅读 · 0 评论 -
网络流与dinic/Fulkerson模板以及相关题
膜板题 ->排水沟poj1273 网络流弄了将近一个月不过还是先总结一下吧 一些概念 一 网络流满足三个性质: 1 容量限制 每条边不能够提供大于其流量的边,(反向边要加上对应的增广流量是为了满足流量守恒) 2 对称性 f(u,v)=-f(v,u) 3 流量守恒 所有点的流入量等于流出量 通俗点说就是你不能从1号城市运3个冰球到2号,而运到2原创 2017-03-09 20:36:54 · 407 阅读 · 0 评论 -
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 · 356 阅读 · 0 评论 -
gcd欧几里德算法/extgcd扩展欧几里德算法以及在解不定方程中的应用
这个应该是我在noip前就应该会的东西 ,但是当时也许只是记下了代码吧 ,现在有诸多的不理解。后来借着书和几篇博客弄懂了并小证了一下,鉴于网上有些博客关于这个的写的真的不好看,所以自己来总结一下,顺带以后也能看。 顺带一提,gcd(a,b)gcd(a,b)表示a,b的最大公约数。欧几里德算法辗转相除法求最大公约数问题,同可求最小公倍数。 既然是辗转相除法,自然就是%%%,%到互相整除为止。代码也原创 2017-03-19 21:10:15 · 1365 阅读 · 0 评论 -
欧拉函数总结学习
你可以看这几篇欧拉函数了解一下,也可以看我的博客 继莫比乌斯反演以后 我又观摩了几个重要的数学知识,虽然自己面对大厦一般的数学还只是浅尝一勺而已。自己也发现不能被一些东西误导,更不能总用多疑的心去面对生活。扯远了,说一下这几个东西吧。欧拉函数欧拉函数:指小于等于n的正整数中与n互质的数的个数。用ϕ(n)\phi (n)表示欧拉函数。 性质 1 积性函数,这里不给证明。。 2 ϕ(1)=1\p原创 2017-03-18 00:32:15 · 689 阅读 · 0 评论 -
POJ3683 Priest John's Busiest Day(神父约翰的忙日)题解(2-SAT及布尔方程运用)
挑战程序设计竞赛p326例题 poj3683 (奶牛呢) 如果你还不了解布尔方程和蕴含式,请先移步蕴含式是什么和布尔方程简介,运算法则 有些很巧妙的地方和技巧、想要总结一下。 首先这题我们考虑到,每个仪式可以在开始或结束时举行,可以用一个有补的变量表示;这时想到了布尔变量,对于一个仪式,我们用xixi 表示它在刚开始时举行,若!xi!xi 则表示它在结束时举行。我们对于不同时发生的区间记为原创 2017-03-11 00:11:36 · 746 阅读 · 0 评论 -
匈牙利算法模板
算是补档? 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 · 455 阅读 · 0 评论