07 2018 档案
摘要:转自:洛谷日报https://www.luogu.org/blog/tarjanfloydDP/qian-tan-er-fen-di-bian-jie-wen-ti 作者:曦行夜落 Part1:二分的中心思想 这是一个杯具,当你将二分的l+1<r写成l<r时,相信很多人都讨厌二分的边界,每次都弄不清
阅读全文
摘要:deque是支持双端插入删除的容器,oi中用来维护单调队列 声明方式 添加或删除元素 访问 deque同时支持下标访问和迭代器访问 例题传送:https://www.jisuanke.com/minicourse/803/41848
阅读全文
摘要:为什么要搞树状数组? 我们先来看一个问题: 在区间[1,10000]上进行两种操作 操作A:把位置x的值+k 操作B:询问区间[l,r]所有数字之和 区间的初始值全部为0 操作A和操作B会被穿插着安排 如果我们每种操作都暴力进行, 那么显然总的时间复杂度为O(mA+n*mB) 如果我们使用树状数组,
阅读全文
摘要:题目链接:https://www.luogu.org/problemnew/show/P1339#sub 题目描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐
阅读全文
摘要:#include using namespace std; int n,m; int f[5005]; void clean() { for(int i=1;i>n>>m; clean(); for(int i=1;i>a>>b>>w;//有向图无向图都是一条边 edge[i].a=a; edge[i].b=b; edg...
阅读全文
摘要:#include #define MAXN 1005 using namespace std; int u[MAXN],v[MAXN],w[MAXN]; int first[MAXN],next[MAXN]; int main() { int n,m; cin>>n >>m; for(int i=1;i>u[i] >>v[i] >...
阅读全文
摘要:在一个长度为 nn 的坐标轴上,蒜头君想从 AA 点 移动到 BB 点。他的移动规则如下: 蒜头君不能移动到坐标小于 00 或大于 nn 的位置。蒜头想知道从 AA 点移动到 BB 点的最少步数是多少,你能帮他计算出来么? 输入格式 第一行输入三个整数 nn,AA,BB,分别代表坐标轴长度,起始点坐
阅读全文
摘要:题目链接:https://www.luogu.org/problemnew/show/P1309 题目背景 在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗
阅读全文
摘要:merge:将两个有序序列合并成一个新的序列,并对新的序列排序 所在库:<algorithm> 注意:排序规则必须和原序列规则相同。存储时下标从0开始。 函数参数:merge(first1,last1,first2,last2,result,compare); firs1t为第一个容器的首迭代器,l
阅读全文
摘要:题目链接:https://www.luogu.org/problemnew/show/P2386 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 输入输出格式 输入格式: 第一行是测试数据的数目t(0 <= t <=
阅读全文
摘要:证明过程: 假设用f(x, y)表示x,y的最大公约数,取k = x/y,b = x%y,则x = ky + b,如果一个数能够同时整除x和y,则必能同时整除b和y;而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数是相同的,其最大公约数也是相同的,则有f(x, y)=
阅读全文
摘要:题目背景 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。 题目描述 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。 输入输出格式 输入格式: 输入:待拆分的自然数n。 输出格式: 输出:若干数的加法式子。 输入输出样例 输入样例#1: 复制 7 输出样例#1: 复
阅读全文
摘要:转自:https://www.cnblogs.com/BeyondAnyTime/archive/2012/08/10/2631191.html vector :vector和built-in数组类似,拥有一段连续的内存空间,能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中
阅读全文
摘要:解析 很容易发现每一个点可以由左边或者下面得到,得出公式dp[i][j]=min(dp[i][j-1],dp[i+1][j])+mp[i][j];注意判断边界 代码
阅读全文
摘要:转自:https://blog.csdn.net/wangjunchengno2/article/details/78690248 strtol 函数: 它的功能是将一个任意1-36进制数转化为10进制数,返回是long int型。 函数为long int strtol(const char *np
阅读全文
摘要:题目链接:https://www.luogu.org/problemnew/show/P1996 题目背景 约瑟夫是一个无聊的人!!! 题目描述 n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……依次类推,直到所有的人都出圈,请输
阅读全文
摘要:构造一个集合 现在我们来构造一个集合。 C++ 中直接构造一个 set的语句为: sets。这样我们定义了一个名为 s的、储存 T类型数据的 集合,其中 T是集合要储存的数据类型。初始的时候 s是空集合。 插入元素 C++ 中用 insert()方法向集合中插入一个新的元素。注意如果集合中已经存在了
阅读全文

浙公网安备 33010602011771号