- 博客(31)
- 收藏
- 关注
原创 最优贸易
#include<bits/stdc++.h>#define inf 0x3f3f3f3f using namespace std;const int maxn=100010;const int maxm=1000000;int n,m;int head[maxn],cnt;struct node{ int to; int next;}e[maxm*2];void...
2019-09-08 23:05:07
130
原创 9.5
T1Problem 1 护花(flower.cpp/c/pas)【题目描述】约翰留下他的 N(N<=100000)只奶牛上山采木.他离开的时候,她们像往常一样悠闲地在草场里吃草.可是,当他回来的时候,他看到了一幕惨剧:牛们正躲在他的花园里,啃食着他心爱的美丽花朵!为了使接下来花朵的损失最小,约翰赶紧采取行动,把牛们送回牛棚. 牛们从 1 到 N 编号.第 i 只牛所在的位置距离...
2019-09-05 21:47:51
192
原创 休息时间
休息时间在某个星球上,一天由 N 个小时构成,我们称0点到1点为第1个小时、1点到2点为第2个小时,以此类推。在第 i 个小时睡觉能够恢复Ui点体力。在这个星球上住着一头牛,它每天要休息B个小时。它休息的这B个小时不一定连续,可以分成若干段,但是在每段的第一个小时,它需要从清醒逐渐入睡,不能恢复体力,从下一个小时开始才能睡着。为了身体健康,这头牛希望遵循生物钟,每天采用相同的睡觉计划...
2019-09-04 22:06:01
230
原创 9.3模拟赛
T1数字三角形题目描述:让人怀念的数字三角形。给出一个如下的数字三角形:11 2 11 2 3 2 11 2 3 4 3 2 1……你从三角形的顶部出发,假如右边有数,则移动到右边相邻的数上,否则,移动到下一行第一个数上,沿途取走所有经过的数,现在多次询问,若要使取走的数的和大于等于N,则至少需要经过多少个数?输入:第一行输入T,代表询问的次数,之后T行输入每次询问的N。...
2019-09-04 13:10:32
190
原创 2019.8.4
2019.8.4 中山纪念中学 提高B组模拟数列变换 (Standard IO)Time Limits: 1000 ms Memory Limits: 524288 KB Detailed LimitsDescription小X 看到堆成山的数列作业十分头疼,希望聪明的你来帮帮他。考虑数列A=[A1,A2,…,An],定义变换f(A,k)=[A2,A3,.Ak,A1,Ak+2,Ak...
2019-08-05 15:05:17
143
原创 多边形
“多边形游戏”是一款单人益智游戏。游戏开始时,给定玩家一个具有N个顶点N条边(编号1-N)的多边形,如图1所示,其中N = 4。每个顶点上写有一个整数,每个边上标有一个运算符+(加号)或运算符*(乘号)。第一步,玩家选择一条边,将它删除。接下来在进行N-1步,在每一步中,玩家选择一条边,把这条边以及该边连接的两个顶点用一个新的顶点代替,新顶点上的整数值等于删去的两个顶点上的数按照删去的边上...
2019-07-03 22:10:06
170
1
原创 选课
选课学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了 N 门的选修课程,每个学生可选课程的数量 M 是给定的。学生选修了这 M 门课并考核通过就能获得相应的学分。在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其他的一些课程的基础上才能选修。例如《Windows程序设计》必须在选修了《Windows操作基础》之后才能选修...
2019-07-03 22:03:05
204
原创 没有上司的舞会
Ural大学有N名职员,编号为1~N。他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。输入格式第一行一个整数N。接下来N行,第 i 行表示 i...
2019-07-03 21:56:24
176
原创 蒙德里安的梦想
题面求把 NM 的棋盘分割成若干个12的的长方形,有多少种方案。例如当N=2,M=4时,共有5种方案。当N=2,M=3时,共有3种方案。输入格式输入包含多组测试用例。每组测试用例占一行,包含两个整数N和M。当输入用例N=0,M=0时,表示输入终止,且该用例无需处理。输出格式每个测试用例输出一个结果,每个结果占一行。数据范围1≤N,M≤11输入样例:1 21 31 42...
2019-07-03 21:28:43
1129
原创 战略游戏
鲍勃喜欢玩电脑游戏,特别是战略游戏,但有时他找不到解决问题的方法,这让他很伤心。现在他有以下问题。他必须保护一座中世纪城市,这条城市的道路构成了一棵树。他必须在节点上放置最少数量的士兵,以便他们可以观察到所有的边。你能帮助他吗?例如,下面的树:只需要放置1名士兵(在节点1处),就可观察到所有的边。输入格式输入包含多组测试数据,每组测试数据用以描述一棵树。对于每组测试数据,第一行包...
2019-07-03 21:18:13
309
1
原创 玉米田
农夫约翰的土地由M*N个小方格组成,现在他要在土地里种植玉米。非常遗憾,部分土地是不育的,无法种植。而且,相邻的土地不能同时种植玉米,也就是说种植玉米的所有方格之间都不会有公共边缘。现在给定土地的大小,请你求出共有多少种种植方法。土地上什么都不种也算一种方法。输入格式第1行包含两个整数M和N。第2…M+1行:每行包含N个整数0或1,用来描述整个土地的状况,1表示该块土地肥沃,0表示该...
2019-07-03 21:08:50
280
1
原创 平衡树
平衡树是一类动态的数据结构。这是它最大的特点,它可以维护修改操作,删除操作,前驱后继操作,查找数k的排名,查找第k大等功能。SplaySpaly,意为伸展,所以Splay又有伸展树的别称。其核心思想就是伸展,用一句话概括就是在每次操作时将结点旋转到根,听起来复杂度很高。但是均摊复杂度是logn(树高)的。基于这种中心思想,就有了Splay这种数据结构。#include&lt;cstdio&g...
2019-03-11 23:28:42
141
原创 网络流
网络流分为两种,最大流和最小费用最大流。关于模板最大流EKDinicHLPPISAP我只会dinic就是bfs+dfs,在每次增广的时候用bfs进行分层,每次在增广的时候少走一些不必要的路。#include&lt;cstdio&gt;#include&lt;iostream&gt;#include&lt;cmath&gt;#include&lt;algorithm&
2019-02-19 01:34:50
160
原创 组合数学
组合数学问题在信息学竞赛中的应用组合数学是一个很灵活的东西,它需要一定的训练量和思路。第一种题型我们需要把题目所求的推出一个式子,然后用代码去实现。第二种题型我们不一定能有一个式子,但我们可以找到一个递推式一样的东西。比如这算是一种模型,一些细节的变化可能会在与盘子和苹果相不相同上。我们在做这种题目的时候,往往采取递归的方法,分两种情况进行思考。一种是苹果数量多与盘子数量,考虑放弃...
2019-01-10 15:30:58
532
原创 左偏树
一些定义外节点仅当这个节点的左节点或是右节点全部为空时,那么它就可以被称为外节点。距离距离为每个点到外节点的距离。显然,外节点距离为0,空节点距离为-1.把根节点的距离称作这棵左偏树的距离。特点左偏树主要解决堆的合并问题。左偏树是可并堆中最常用的。左偏树是建立在堆性质的基础上的。举个例子,在小根堆中父节点的堆优先级小于子节点的堆优先级。在此性质的基础上,为了快速合并...
2019-01-09 21:30:26
195
原创 二分图
总览1.二分图最大匹配2.二分图最小顶点覆盖3.二分图最小边覆盖4.二分图最大独立集5.二分图最大团6.二分图最大权匹配7.有向无环图不可相交路径覆盖8.有向无环图可相交路径覆盖9.有向有环图不可相交最小路径覆盖10.有向有环图可相交最小路径覆盖1.二分图最大匹配都可以用匈牙利算法解决。int dfs(int u){ for(int i=head[u];i;i=e[...
2019-01-08 17:39:32
116
原创 Uva11419 Sam I am
题目这个题与模板的不同点在于要求输出最小点覆盖中的点。还是先跑匈牙利。跑完了之后考虑打标记。将左集合,右集合中打上标记。每次在匈牙利中用左集合的点匹配右集合的点。访问过的的就打上标记,这本来就是匈牙利算法的一部分。为了防止无限循环。从每个左集合没有匹配的数开始增广。这样产生匹配的右集合的就是最大点覆盖中的右集合,那么剩下左集合中没有覆盖到的,就是最大点覆盖中的左集合。#inclu...
2019-01-05 21:25:11
242
2
原创 字符串算法
AC自动机概述AC自动机就是把trie和kmp放在一起。也就是在trie上跑kmp,所以AC自动机又叫trie图。它和kmp的不同是,kmp是处理一个字串然后用处理的子串匹配主串,就是说你要匹配的串只有一个。但是有多个你就要用ac自动机了。算法过程你首先要把trie树建出来。然后根据题目不同的要去开不同的结构体。建图的过程就是从根节点开始,找到和这个串前缀相同最长的那个,然后把它的...
2018-12-24 21:16:04
141
原创 dp小结
dp小结思想与个人理解动态规划是信息学的第二道门槛(第一道是递归),这一类问题独立存在,并且十分重要。我们可以从名字中看出一些端倪。动态规划。这意味着dp是一个动态的过程。我们把一个问题的变化的每个过程单独取出来,成为它的一个状态,它在不断的发生转移。我们在思考动态规划问题的时候应该问自己,这个状态可以从什么状态得来?那他可以变成什么新状态?这其中它在转移过程发生的变化是什么?我们把这三...
2018-12-17 21:19:00
165
原创 数位dp
数位dp总结一下规律数位dp的题面大多是对数进行了一些限制,然后让你求这种数的个数。解题有如下步骤:1.根据题目的要求,初始化符合要求的数,用数组存下。2.获取,题目一般会给你一个范围,考虑前缀和的思想例如[x,y],可以转换为[1,y+1)-[1,x)注意你的获取函数大多都是左开右闭的3.首先位数不足的先统计...
2018-12-10 21:10:43
134
原创 树形dp
树形dp方法小结树形dp是什么?树形dp就是在树上dp简单的树形dp一道例题树形dp往往跟dfs有很大的联系,我们在做时,可以先dfs然后再dp,也可以一边dfs一边dp动态规划的核心在于状态的设计与转移设计状态f[i][j]第一维表示以i为开始第二维表示以j结束其实这里就有点像区间dp了,我们再循环的时候只用枚举这个区间的断点,就是转移的中继点。状态转移方程如下:...
2018-12-03 22:07:03
453
1
原创 错题
2018.11.27自学拓扑排序 偶然做到最长链 spfa就是过不去挑了半个小时 发现出队时 inq[]要置为0如果不这样 那出过队的不是不能再进了 那咋松弛啊QAQ被自己蠢哭了#include&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#define inf 0x3f3f3f3f#define maxm 50010
2018-11-28 22:21:16
113
原创 RMQ问题
单调队列说到底它只是一个队列而已,只不过这个队列是个有序的,也就是单调的,但是单调队列的有序并不是排出来的,而是不断地从队尾插入并向前进行删除维护得来的。每当我们拿到一个数字时,我们便将它和队尾比较,如果比队尾大,那么删掉队尾,把这个数放上,之后向前继续找,直到发现一个数比插入的数要小或者到了边界为止,这便是单调队列。
2018-11-05 22:00:26
551
原创 STL unique与sort用法
STL unique与sort用法左开右闭先排序再去重#include&lt;bits/stdc++.h&gt;using namespace std;int main(){ int n; cin&gt;&gt;n; int a[10000]; for(int i=1;i&lt;=n;i++) cin&gt;&gt;a[i]; sort(a+1
2018-11-05 17:09:09
182
原创 堆(STL优先队列)
堆(STL优先队列)学习笔记最大堆STL写法创建的方法 priority_queue pd;插入元素 的方式 pd.push();提取队头 pd.front();弹出队头 pd.pop();要注意优先队列也是一种队列,就是说只能在队尾插入,并且只能弹出队头,所以要得到队列中第n小的数必须弹出前n-1的所有元素2.最小堆STL写法其他的跟最大堆一样,但是这里需要重载(或者使...
2018-11-05 16:42:20
568
2
原创 逆序对
逆序对的树状数组做法可能是NOIP2018之前最后一篇博客了,(最近真的很自闭)逆序对对于一个给定序列中的每一个元素,找到它后面比它小的数洛谷模板题面-顺便说一下一个神奇(玄学)的东西,我树状数组总是会写挂(还不是我太菜了)经过非常久的尝试,我发现一种在哪个题都不会挂的写法int lowbit (int x){ return x&amp;amp;(-x);}void updat...
2018-11-05 16:23:31
129
2
原创 环形dp模板 洛谷P1880石子合并题解
环形dp模板 洛谷P1880石子合并题解#include<bits/stdc++.h>using namespace std;int n,minn,maxx,f1[300][300],f2[300][300],num[300];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a...
2018-09-23 00:35:28
222
原创 LIS 最长不降子序列(二分篇)
自己学了这么久还是不太理解,今天写个博客,如果能自己讲清楚自己就是真的懂了就不说基本的N^2做法了来说说二分做法,这个做法的复杂度(nlogn)具体的看代码注释#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt;#include&amp;amp;amp;lt;cst
2018-09-19 13:50:38
490
1
原创 9.12牛客网比赛E题思路
本人太弱,只想到E题的思路(其他的没啥特别的写写权当做笔记) [https://www.nowcoder.com/acm/contest/189#question] 1. A这题我一看难道这个sigma的式子难道不是末尾减首位嘛 然后剩下的n-2位每位乘10不就完了,这题没啥好说的 2.C这题不是个玩游戏问题(就是双方博弈,名字是我瞎扯得) 我花了好久把题目看懂,对于每一次取,11...
2018-09-12 23:52:48
126
原创 欧拉回路与欧拉路径
1.在一个图中,能从一个点出发,走完所有的边,并且每条边只能走一次,最后回到出发点,这样的路径就叫做欧拉回路,有欧拉回路的路径就叫欧拉图。 在欧拉图中,所有点连接的边都为偶数条。2.在一个图中,能从一个点出发,走完所有的边,并且每条边只能走一次,这样的路径就叫做欧拉路径(不一定回到起点),有欧拉路径的路径就叫半欧拉图。 在半欧拉图中,有两个点连接的边数为奇数条边(这两个点是路径的起点和终点),...
2018-09-08 15:45:23
397
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人