![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM之路——程序设计编程
ACM-ICPC
phac123
坚持&选择
展开
-
机试准备——quick_sort
题目链接:https://www.acwing.com/problem/content/description/787/#include <iostream>#include <cstdio>using namespace std;const int maxn = 1e5 + 5;int a[maxn], n;inline void quick_sort(int l, int r) { if(l >= r) return; if(l < 1 ||原创 2020-06-27 06:45:10 · 104 阅读 · 0 评论 -
机试——quick_sort找第k小值
题目链接:https://www.acwing.com/problem/content/788/#include <iostream>#include <cstdio>using namespace std;const int maxn = 1e5 + 5;int a[maxn];inline int quick_sort(int q[], int l, int r, int k) { if(l >= r) return q[l]; int i =原创 2020-06-27 06:54:12 · 149 阅读 · 0 评论 -
PAT1002A+B(简单模拟)
PAT1002_a + b题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805526272000000单词:polynomials:n. 多项式exponents n.指数coefficients n.系数解题思路:将数字的下标作为指数,数组存储的数值作为系数,然后直接相加,最后按照格式输出。#include <iostream>#include <cstdio>#includ原创 2020-07-10 07:09:59 · 136 阅读 · 0 评论 -
PAT_1010(简单模拟题)
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805313708867584解题思路:首先是输入问题,我们可以直接使用scanf()的方法,每次接受两个数据,同时使用while的方法将所有的数据接受完。在每次的循环体中,对于两个数据,按照求导的方式直接放到一个veoctor中就可以了。然后是输出问题,要注意最后一个数字后面没有空格。代码:#include <iostream>#include &l原创 2020-07-09 21:23:16 · 144 阅读 · 0 评论 -
PAT1011(超级简单模拟)
题目链接:https://pintia.cn/problem-sets/994805260223102976/problems/994805312417021952解题思路:用long long 来存储,然后判断一下#include <iostream>#include <cstdio>using namespace std;int main(void) { long long a, b, c; int cnt = 0; int n; scan原创 2020-07-10 06:31:05 · 131 阅读 · 0 评论 -
zju_1090
题目:he Circumference of the CircleTime Limit: Java: 2000 ms / Others: 2000 msMemory Limit: Java: 65536 KB / Others: 65536 KB[显示标签]DescriptionTo calculate the circumference of a circle seems to be...原创 2019-08-10 12:24:19 · 115 阅读 · 0 评论 -
网络流构图_洛谷P2805 [NOI2009]植物大战僵尸_拓扑排序_最大闭合子图
题目:题目描述Plants vs. Zombies(PVZ)是最近十分风靡的一款小游戏。Plants(植物)和Zombies(僵尸)是游戏的主角,其中Plants防守,而Zombies进攻。该款游戏包含多种不同的挑战系列,比如Protect Your Brain、Bowling等等。其中最为经典的,莫过于玩家通过控制Plants来防守Zombies的进攻,或者相反地由玩家通过控制Zombies...原创 2019-08-09 18:10:34 · 187 阅读 · 0 评论 -
网络流_加上了当前弧优化的Dinic算法
测试题目:题目背景滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西。题目描述蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习题。然而出现在他眼前的书多得数不胜数,其中有书,有答案,有练习册。已知一个完整的书册均应该包含且仅包含一本书、一本练习册和一份答案,然而现在全都乱做了一团。许多书上面的字迹都已经模糊了,然而HansBug还是可以...原创 2019-08-06 15:08:14 · 145 阅读 · 0 评论 -
洛谷P2762_最大权闭合子图
题目:题目描述W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。实验Ej需要用到的仪器是I的子集RjÍI。配置仪器Ik的费用为ck美元。实验Ej的赞助商已同意为该实验结果支付pj美元。W教授的任务是找出一个有效算法,确定在一...原创 2019-08-06 17:05:56 · 177 阅读 · 0 评论 -
网络流_EK模板
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;const int maxn = 205;const int inf = 0x3f3f3f3f;int n, m, s, t, maxflow;int...原创 2019-09-21 23:37:42 · 116 阅读 · 0 评论 -
洛谷p2341[HAOI2006]受欢迎的牛_强连通图
题目链接:https://www.luogu.org/problem/P2341题目:题目背景本题测试数据已修复。题目描述每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果A喜欢B,B喜欢C,那么A也喜欢C。牛栏里共有N 头奶牛,给定一些奶牛之间的爱慕关系,请你算出有多少头奶牛可以...原创 2019-08-10 10:51:25 · 112 阅读 · 0 评论 -
网络流_转载_Dinic算法
博客转载自:https://blog.csdn.net/zhouzi2018/article/details/81865934先了解FF思想以及了解EK算法传送门但是EK算法为什么如此朴素?知道了增广路的实现,但是单纯地这样选择可能会陷入不好的境地,比如说这个经典的例子:我们一眼可以看出最大流是999(s->v->t)+999(s->u->t),但如果程序采取了不...转载 2019-09-21 23:37:32 · 91 阅读 · 0 评论 -
网络流_模板_洛谷P1343
题目:题目描述汶川地震发生时,四川**中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边。1号点为教室,n号点为安全地带,每条边都只能容纳一定量的学生,超过楼就要倒塌,由于人数太多,校长决定让同学们分成几批逃生,只有第一批学生全部逃生完毕后,第二批学生才能从1号点出发逃生,现在请你帮校长算算,每批最多能运出多少个学生,x名学生分几批才...原创 2019-08-04 15:44:40 · 112 阅读 · 0 评论 -
二分图的最小顶点覆盖
博客出处:https://www.matrix67.com/blog/archives/116二分图最大匹配的König定理及其证明如果你看不清楚第二个字母,下面有一个大号字体版本:二分图最大匹配的König定理及其证明本文将是这一系列里最短的一篇,因为我只打算把König定理证了,其它的废话一概没有。以下五个问题我可能会在以后的文章里说,如果你现在很想知道的话,网上去找找答案:1. ...原创 2019-08-02 16:13:12 · 1974 阅读 · 0 评论 -
网络流_洛谷P2472
题目:题目背景07四川省选题目描述在一个r行c列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外。每行每列中相邻石柱的距离为1,蜥蜴的跳跃距离是d,即蜥蜴可以跳到平面距离不超过d的任何一个石柱上。石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减1(如果仍然落在地图内部,则到达的石柱高度不变),如果该石柱原来高度为1,则蜥蜴离开后消失。以后其他...原创 2019-08-06 12:48:37 · 107 阅读 · 0 评论 -
二分图_最佳匹配
KM算法求二分图的最佳匹配1.用于求带权二分图匹配边权值和最大的完备匹配(实际上就是每个左边的点都要匹配上)2.顶表:一个用于衡量边是否在相等子图内的数值3.相等子图:点还是原图的点,边是原图边集的子集,包含所有 端点顶标和 = 边权 的边。4.时间复杂度:一般是0(n^3)题目:POJ3565AntsTime Limit: 5000MS Memory Limit...原创 2019-08-03 12:12:08 · 164 阅读 · 0 评论 -
棋盘覆盖_CH6801_ACWING_372
题目:给定一个N行N列的棋盘,已知某些格子禁止放置。求最多能往棋盘上放多少块的长度为2、宽度为1的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。输入格式第一行包含两个整数N和t,其中t为禁止放置的格子的数量。接下来t行每行包含两个整数x和y,表示位于第x行第y列的格子禁止放置,行列数从1开始。输出格式输出一个整数,表示结果。数据范围1≤N≤100输出...原创 2019-08-02 11:08:44 · 171 阅读 · 0 评论 -
ACWING_373
题目:给定一个N行M列的棋盘,已知某些格子禁止放置。问棋盘上最多能放多少个不能互相攻击的車。車放在格子里,攻击范围与中国象棋的“車”一致。输入格式第一行包含三个整数N,M,T,其中T表示禁止放置的格子的数量。接下来T行每行包含两个整数x和y,表示位于第x行第y列的格子禁止放置,行列数从1开始。输出格式输出一个整数,表示结果。数据范围1≤N,M≤200输入样例:8 8 0输...原创 2019-08-02 13:13:39 · 165 阅读 · 0 评论 -
网络流_Dinic算法
算法思路的简述:首先Dinic算法是EK算法的优化,Dinic算法BFS一次可能可以找到多条增广路,减小了时间复杂度;时间复杂度为O(n * n * m);首先我们用BFS去给整张图进行层次的划分,当我们把层次划分完之后,我们再使用Dinic算法, 其实就是很多次dfs,去在这层次图上去不断地找增广路,每找到一条就把这条的flow 加到最后的答案上去。测试题目(裸题)洛谷:2740题目...原创 2019-08-03 20:20:27 · 299 阅读 · 0 评论 -
费用流_最小费用最大流模板_洛谷3381
题目:题目描述如题,给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。输入格式第一行包含四个正整数N、M、S、T,分别表示点的个数、有向边的个数、源点序号、汇点序号。接下来M行每行包含四个正整数ui、vi、wi、fi,表示第i条有向边从ui出发,到达vi,边权为wi(即该边最大流量为wi),单位流量的费用为fi。输出格式...原创 2019-08-05 10:26:38 · 92 阅读 · 0 评论 -
二分图_HDOJ2853
AssignmentTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1748 Accepted Submission(s): 940Problem DescriptionLast year a terrible earthqu...原创 2019-08-03 12:48:33 · 94 阅读 · 0 评论 -
网格建图_洛谷P2774
题目:题目背景none!题目描述在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。输入格式第 1 行有 2 个正整数 m 和 n,分别表示棋盘的行数和列数。接下来的 m 行,每行有 n 个正整数,表示棋盘方格中的数。输...原创 2019-08-06 20:37:34 · 249 阅读 · 0 评论 -
网络流_构图
题目:luogu2765题目描述«问题描述:假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,…的球。(1)每次只能在某根柱子的最上面放球。(2)在同一根柱子中,任何2个相邻球的编号之和为完全平方数。试设计一个算法,计算出在n根柱子上最多能放多少个球。例如,在4 根柱子上最多可放11 个球。«编程任务:对于给定的n,计算在n根柱子上最多能放多少个球。输入格式...原创 2019-08-08 14:16:31 · 297 阅读 · 0 评论 -
The 2019 Asia Nanchang First Round Online Programming Contest C Fire-Fighting Hero
题目链接:https://nanti.jisuanke.com/t/41349解题思路:1.可以跑k - 1次(dijkstra算法/spfa算法)2.创建一个源点,让这个源点连接上所有的然后比较一下就可以了。坑点:1.若5号点有消防队,那么5号点的消防队不能去5号点,即此时d[5] = inf(无穷大)2.求完所有的消防队之和,是需要合并所有的最短路的,去小的那个数值AC代码1:...原创 2019-09-09 13:06:35 · 90 阅读 · 0 评论 -
网络流_洛谷P4001_最小割
题目:题目描述现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形:左上角点为(1,1),右下角点为(N,M)(上图中N=3,M=4).有以下三种类型的道路1:(x,y)<==>(x+1,y)2:(x,y)<==>(x,y+1)3:(x,y)<...原创 2019-08-05 20:03:56 · 100 阅读 · 0 评论 -
最大权闭合子图_洛谷3410
题目:题目描述小B有n个下属,现小B要带着一些下属让别人拍照。有m个人,每个人都愿意付给小B一定钱让n个人中的一些人进行合影。如果这一些人没带齐那么就不能拍照,小B也不会得到钱。注意:带下属不是白带的!!!对于每个下属,如果他带了那么小B需要给他一些钱,保证当他拍照时配合。请问,小B的净收益最多是多少。输入格式第1行有2个正整数m和n(0<m,n<=100)。接下来的m行...原创 2019-08-06 15:59:52 · 169 阅读 · 0 评论 -
网络流_费用流_ACWING382
题目:382. K取方格数题目提交记录讨论题解视频讲解在一个N*N的矩形网格中,每个格子里都写着一个非负整数。可以从左上角到右下角安排K条路线,每一步只能往下或往右,沿途经过的格子中的整数会被取走。若多条路线重复经过一个格子,只取一次。求能取得的整数的和最大是多少。输入格式第一行包含两个整数N和K。接下来N行,每行包含N个不超过1000的整数,用来描述整个矩形网格。输出...原创 2019-08-05 10:12:14 · 125 阅读 · 0 评论 -
POJ_1236_有向图的连通性+Tarjan算法_模板
测试题目:http://poj.org/problem?id=1236Network of SchoolsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 26580 Accepted: 10487DescriptionA number of schools are connected to a computer n...原创 2019-08-09 21:36:33 · 216 阅读 · 0 评论 -
LCA的学习
LCA入门:LCA(x, y):x和y的最近公共祖先入门题目:hdu_2586解题思路:首先我们通过一个bfs得到所有点的深度以及所有点到1(树根)的距离;通过在bfs的过程中我们通过一个dp去的更行每一个节点的 f 数组;然后我们通过lca直接得到查询中2个点的lca;最后用 dist[x] + dist[y] - 2 * dist[ lca(x, y) ],得到最终的答案。f数...原创 2019-10-19 10:48:10 · 171 阅读 · 0 评论 -
PTA L2-01
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805073643683840解题思路:首先使用Dijkstra算法找到最短的路径;然后使用两次DFS,第一次DFS找到最短路径的条数以及最短路径中权值最大的数值;第二次DFS则找到符合最短且最大条件的路径。注意点:使用DFS需要剪枝,否则会超时。代码:#include <iostream>#include <cstdio>#includ原创 2020-11-13 16:36:11 · 118 阅读 · 0 评论 -
网络流_洛谷P1231
题目:题目背景滚粗了的HansBug在收拾旧语文书,然而他发现了什么奇妙的东西。题目描述蒟蒻HansBug在一本语文书里面发现了一本答案,然而他却明明记得这书应该还包含一份练习题。然而出现在他眼前的书多得数不胜数,其中有书,有答案,有练习册。已知一个完整的书册均应该包含且仅包含一本书、一本练习册和一份答案,然而现在全都乱做了一团。许多书上面的字迹都已经模糊了,然而HansBug还是可以大致...原创 2019-08-05 21:12:08 · 82 阅读 · 0 评论 -
Dijkstra, Dijstra 堆优化, Bellman_ford, SPFA的总结
Dijkstra处理无负权边的图算法思路:首先从图中找到离起点距离最小的点,然后将这个点标记,然后再用这个点去更新这个点连接的所有点。时间复杂度:0(n * m)测试题目:Dijkstra求最短路 I题目提交记录讨论题解视频讲解给定一个n个点m条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出1号点到n号点的最短距离,如果无法从1号点走到n号点,则输出-...原创 2019-08-04 10:38:22 · 201 阅读 · 1 评论 -
PTA1003_Emergency(Dijkstra+dfs)
题目链接:https://pintia.cn/problem-sets/994805342720868352/problems/994805523835109376解题思路:首先我们使用Dijkstra算法进行求最短路径,并且使用一个vector数组去记录所有最短路径中的边。然后再使用一个dfs去计数vector数组中所有最短路径的条数,并维护一个点权最大值。代码:#include <iostream>#include <cstdio>#include <cstri原创 2020-07-10 10:14:58 · 151 阅读 · 0 评论 -
二分图_最大独立点集
二分图_最大独立点集最大独立集是一个点集, 使得其中任意两点之间在图中没有对应边。对于一般得图来说 ,最大独立集是一个NP完全问题,对于二分图来说最大独立集 = |V| - 二分图得最大匹配数。这个结论很显然。题目:POJ3041DescriptionBessie wants to navigate her spaceship through a dangerous asteroid ...原创 2019-08-02 20:32:24 · 539 阅读 · 0 评论 -
网络流_Edmonds-Karp 增广路算法
#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;const int maxn = 205;const int inf = 0x3f3f3f3f;int n, m, s, t, maxflow;int...原创 2019-08-03 19:23:02 · 164 阅读 · 0 评论 -
二分图_KM模板
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int maxn = 105;const double inf = 1e12;const...原创 2019-08-03 14:35:40 · 91 阅读 · 0 评论 -
网络流_洛谷_P1361
题目:题目描述小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1…n编号)。现在,第i种作物种植在A中种植可以获得ai的收益,在B中种植可以获得bi的收益,而且,现在还有这么一种神奇的现象,就是某些作物共同种在一块耕地中可以获得额外的收益,小M找到了规则中共有m种作物组合,第i个组合中的作物共同种在A中...原创 2020-02-18 08:18:49 · 180 阅读 · 0 评论 -
二分图_有向无环图的最小不相交路径覆盖
有向无环图的最小不相交路径覆盖,即最小边覆盖,是指用尽可能少的顶点不相交的简单路径覆盖二分图中的所有顶点。路径长度可以为0,结论:最小路径数 = |V| - 二分图的最大匹配数;我的理解:因为路径的长度可以为0, 所以可以这样想,一开始我们的路径数 = V, 然后我们把图中的点分别拆分为2个点,一个出点,一个入点,我们每次匹配2个点,就意味着这两个点可以合成一个点,即路径数 - 1,所以得...原创 2019-08-02 16:50:55 · 555 阅读 · 0 评论 -
网络流_最小割_洛谷P1345
题目:题目描述农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流。这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列a1,a2,…,a©,且a1与a2相连,a2与a3相连,等等,那么电脑a1和a©就可以互发电邮。很不幸,有时候奶牛会不小心踩到电脑上,农夫约翰的车也可能碾过电脑,这台倒霉的电脑就会坏掉。这意味着这台电脑不能再发送电邮了,于是与这台电脑...原创 2019-08-05 11:54:49 · 133 阅读 · 0 评论 -
网络流_洛谷P1402
题目:P1402 酒店之王提交4.25k通过1.65k时间限制1.00s内存限制125.00MB提交代码加入收藏题目提供者yeszy难度省选/NOI-历史分数100提交记录 查看题解标签福建省历届夏令营相关讨论进入讨论版推荐题目展开题目描述XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于很多来住店的旅客有自己喜好的房间...原创 2019-08-06 09:10:31 · 148 阅读 · 0 评论