![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
谷丘-CODER
努力up!up!
展开
-
cf #501 B - Obtaining the String
题意 给两个字符串,通过和后面一个字符对掉顺序,得到第二个字符串和第一个相等,输出对调次数,按顺序输出对调的点#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=55;char a[maxn],b[maxn];int ch1[...原创 2018-08-01 15:20:59 · 159 阅读 · 0 评论 -
poj2337-G - Catenyms -有向图欧拉路径dfs输出
http://poj.org/problem?id=2337给你一组N个单词,现在要你输出这样一组单词序列。该序列包含了所有N个单词,且该序列中的前一个单词的最后一个字母与后一个单词的第一个字母相同。如果存在多个这种首尾相连的序列,就输出字典序最小的那个即可。首先得判断图的连通性,并查集判断1.图连通2.每个点的入度等于出度dfs起点为第一个点或有两个点入度不等于出度,且一个点出...原创 2018-08-17 14:37:35 · 170 阅读 · 0 评论 -
spfa-poj3259-Wormholes
题目链接:http://poj.org/problem?id=3259spfa详解https://blog.csdn.net/xunalove/article/details/70045815题意:t译文:农夫约翰在探索他的许多农场,发现了一些惊人的虫洞。虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M(1≤M...原创 2018-08-16 11:00:48 · 162 阅读 · 0 评论 -
CodeForces - 1020A. New Building for SIS-模拟
题目链接:http://codeforces.com/problemset/problem/1020/AinputCopy3 6 2 3 31 2 1 31 4 3 41 2 2 3给你n个相邻的建筑(从左到右编号1到n),每个建筑有h层,每个建筑的a层到b层中任意一层c层可以花一秒通过连廊直接到隔壁建筑的c层。上下楼1层需要1秒。求q次查询(建筑a,层a)到(建筑b,层b...原创 2018-08-15 16:46:06 · 328 阅读 · 0 评论 -
CodeForces - 1020B. Badge-div2-递推模拟
题目链接:http://codeforces.com/problemset/problem/1020/B题意:从一个人徽章上打洞,他会说栽赃下一个人,然后下一个人的徽章被打洞,依次这样下去,直道某个人徽章有两个洞就结束。输入:32 3 2输出:2 2 3 代表3个学生,第一名栽赃给第2个学生,第二名栽赃第3个,第三名栽赃给第2个老师首先打洞1->2->...原创 2018-08-15 14:58:33 · 200 阅读 · 0 评论 -
poj1794-最短路-dijkstra
Heavy Transportationhttp://poj.org/problem?id=1797题目大意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量解题思路:其实这个求最大边可以近似于求最短路,只要修改下找最短路更新的条件就可以了#include<iostream>...原创 2018-08-15 10:10:21 · 359 阅读 · 2 评论 -
STL-set-stringstream分割字符-uva10815
题意:输入一个文本。找出所有不同的单词,按字典序从小到大输出Sample InputAdventures in DisneylandTwo blondes were going to Disneyland when they came to a fork in theroad. The sign read: "Disneyland Left."So they went home.Sa...原创 2018-08-13 15:54:03 · 311 阅读 · 0 评论 -
STL-vector详解-uva-101
题目:给你n个方块,有四种操作: 1.move a onto b,把a和b上面的方块都放回原来位置,然后把a放到b上面; 2.move a over b,把a上面的放回原处,然后把a放在b所在的方块堆的上面; 3.pile a onto b,把b上面的放回原来位置,然后把a和a上面的方块整体放到b上面; ...原创 2018-08-13 12:00:24 · 148 阅读 · 0 评论 -
STL-set-详解-uva10474
大理石在哪儿现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序然后回答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编号为1~N。(在样例中,为了节约篇幅,所有大理石的数合并到一行,所有问题也合并到一行。)样例输入:4 12 3 5 155 21 3 3 3 12 3样例输出:CASE# 1...原创 2018-08-13 10:29:00 · 119 阅读 · 0 评论 -
poj-2007-凸包-极角排序
题目链接http://poj.org/problem?id=2007题目大意:乱序给出凸多边形的顶点坐标,要求按逆时针顺序输出各顶点。给的第一个点一定是(0,0),没有其他点在坐标轴上,没有三点共线的情况。#include<iostream>#include<cstdio>#include<cstring>#include<algorith...原创 2018-08-07 23:32:44 · 172 阅读 · 0 评论 -
Thinking-Bear magic(几何)
题目链接https://www.nowcoder.com/acm/contest/163/D输入n代表n边形,a为边长,l所以他想一个好主意,连接每条边的中点,并得到一个新的N的正多边形。想要一个正多边形(N),和多边形面积不超过L。链接:https://www.nowcoder.com/acm/contest/163/D来源:牛客网为了成为一个神奇的女孩,Th...原创 2018-08-07 23:26:03 · 163 阅读 · 0 评论 -
hdu4082-Hou Yi's secret 找相似三角形
http://acm.hdu.edu.cn/showproblem.php?pid=4082给定n个点判断这些点能组成的三角形中,与同一个三角形相似的三角形的最大个数。注意有可能输入重边,要判断共线#include<iostream>#include<ctime>#include<cmath>#include<cstring>#...原创 2018-08-17 17:51:10 · 112 阅读 · 0 评论 -
E - Odds and Ends
Where do odds begin, and where do they end? Where does hope emerge, and will they ever break?Given an integer sequencea1, a2, ..., anof lengthn. Decide whether it is possible to divide it into...转载 2018-01-01 12:19:15 · 206 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers(线段树区间修改)
#include<iostream>#include<cstdio>#define ll long long#include<cstring>using namespace std;const int mx=1e5+10;ll sum [mx*4];ll la [mx*4];void pushdown(int rt,int L,int R){...原创 2018-05-12 12:30:26 · 99 阅读 · 0 评论 -
poj1144-uva-315无向图求割点模板
给你一张图,节点数小于100个,保证图联通。询问这张图里有多少割点输入多组测试数据对于每组测试数据的第一行,输入一个整数N,表示一共有N个节点接下来若干行,每行第一个数字u,接下来一些数字vi,表示u和vi之间有边,每行以回车符结尾。每组测试数据以u==0结尾整个输入以N==0结尾这个输入看了好久才看懂割点就是对于连通图中的一个点,如果去掉这个点后,原来的图变成非连...原创 2018-07-31 19:06:18 · 171 阅读 · 0 评论 -
poj3020-二分图匹配-最小路径覆盖
题目链接http://poj.org/problem?id=3020*--代表城市,o--代表空地 给城市安装无线网,一个无线网最多可以覆盖两座城市,问覆盖所有城市最少要用多少无线。公式:,最小路径覆盖=总节点数-最大匹配数;那么接下来需要确认的是,究竟是求 有向二分图的最小路覆盖,还是求 无向二分图的最小路覆盖因为有向和无向是截然不同的计算方法。例如输入...原创 2018-07-31 09:35:09 · 131 阅读 · 0 评论 -
hdu5934-强连通分量-缩点-tarjan
题目链接:https://vjudge.net/problem/541918/origin题意:有n个炸弹,位于(xi,yi),爆炸半径为ri,花费为ci。炸弹爆炸时,在其爆炸范围的炸弹都会被引爆,求最少花费使得所有的炸弹都引爆。如果A能引爆B,那么在A B之间建一条单向边A->B ,然后用Tarjan算法缩点,缩点过程把相连通分量内的那个花费最小的炸弹求出并保存,然后用缩点建立新...原创 2018-07-30 16:20:29 · 152 阅读 · 0 评论 -
hdu-1556-树状数组-差分数组
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1556这题就是N个气球每次对[a,b]区间的气球涂色,每次询问第i个气球被涂了多少次色。显然朴素的树状数组实现单点修改+区间求和对于这题区间修改+单点查询,思想延续树状数组。加上差分数组的思想很容易知道我们只需要用树状数组维护一个差分数组,每次修改区间[a,b],我们只需要add(C[a]...原创 2018-07-28 10:45:39 · 285 阅读 · 0 评论 -
poj-2481-Cows -树状数组
题目链接http://poj.org/problem?id=2481FJ有n头牛(编号为1~n),每一头牛都有一个测验值[S, E],如果对于牛i和牛j来说,它们的测验值满足下面的条件则证明牛i比牛j强壮:Si<=Sj and Ej<=Ei and Ei-Si>Ej -Sj。现在已知每一头牛的测验值,要求输出每头牛有几头牛比其强壮数组数组右上方存小的,那么我们按照y从大到...原创 2018-07-27 23:17:08 · 114 阅读 · 0 评论 -
hdu-1541-树状数组模板-入门题
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1541题意:给出一些星星的横坐标和纵坐标,而且星星的纵坐标按非递减排列,如果纵坐标相等,则横坐标按递增排列,任意两颗星星不会重合。如果有n颗星星的横坐标比某颗星星小而且纵坐标不大于那颗星星(即有n颗星星位于那颗星星的左下角或者左边)则此星星的等级为n,最后输出等级为0至n-1的星星的数量。#in...原创 2018-07-27 11:16:00 · 635 阅读 · 0 评论 -
hdu1905Pseudoprime numbers -快速幂,判素数模板
http://acm.hdu.edu.cn/showproblem.php?pid=1905题目大意是这样的,输入p,a,两个数,如果p是素数输出no,如果p不是素数,判断a^p%p==a是否成立,如果成立输出yes,否则输出no#include<stdio.h>#include<string>#include<iostream>#includ...原创 2018-07-26 18:20:24 · 122 阅读 · 0 评论 -
hdu6301- Distinct Values
给定n段区间,要求每段区间内没有重复的数字;构造这样一个序列,使得序列的字典序最小每次使用数字,从set里提取出来再删掉就行了题目地址http://acm.hdu.edu.cn/showproblem.php?pid=6301#include<stdio.h>#include<string>#include<iostream>#inclu...原创 2018-07-26 18:13:33 · 114 阅读 · 0 评论 -
hdu1009FatMouse' Trade贪心结构体sort排
#include<cstdio>#include<string>#include<iostream>#include<algorithm>#include<stdlib.h>using namespace std;const int n=1005;struct anode{ int j,f; double r;//不...原创 2018-05-18 18:49:15 · 113 阅读 · 0 评论 -
HDU1166:敌兵布阵(线段树单点更新)
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int mx=5e4+10;int node[mx<<2];void build(int l,int r,int rt){ if(l==r) { scanf("%d",&am...原创 2018-05-12 12:39:42 · 87 阅读 · 0 评论 -
poj-1113 凸包模板
题目链接http://poj.org/problem?id=1113很久以前有一个吝啬的国王,他命令自己的首席建筑师围绕城堡建造一圈围墙。这位国王十分贪婪,所以他绝对不会听取建筑师的意见去建造那种外观靓丽还有很多高塔的豪华围墙,他只想用最少的石头和劳工完成;并且国王觉得围墙与城堡的距离不能小于一个确定的值。如果建筑师建造围墙时消耗的资源比国王的预算多,那他立刻就要人头落地。现在国王向建筑师要求...原创 2018-08-05 21:59:13 · 565 阅读 · 0 评论 -
B - Segment Occurrences-kmp算法模板
cf 502 div2 题目链接http://codeforces.com/problemset/problem/1016/B题意 第一行第一个数字主串的长度,第二个是子串长度,第三个数字代表几次询问例如 1-3 在主串中子串出现的次数kmp模板题具体kmp算法详见https://blog.csdn.net/u010232171/article/details/41945605...原创 2018-08-05 21:15:37 · 245 阅读 · 1 评论 -
poj2513-字典树-欧拉路径
题目链接:http://poj.org/problem?id=2513题目大意:给一些木棍,两端都有颜色,只有两根对应的端点颜色相同才能相接,问能不能把它们接成一根木棍无向图存在欧拉路的充要条件为:① 图是连通的;② 所有节点的度为偶数,或者有且只有两个度为奇数的节点。图的连通可以利用并查集去判断。这题数据比较坑,输入空数据的时候,输出possible。数...原创 2018-08-24 11:45:10 · 136 阅读 · 0 评论 -
cf-1025A-Doggo Recoloring
题目链接:http://codeforces.com/problemset/problem/1025/A题意:一次可以把两个以上相同的字母变成另一种字母,问能不能把全部字母变成相同字母只要一个字母出现两次,全部字母都能变成一个字母#include<iostream>#include<cstdio>#include<cstring>#inclu...原创 2018-08-23 10:29:30 · 169 阅读 · 0 评论 -
Binary Blocks 前缀和预处理CodeForces - 838A
给一个m*n的矩阵,将其分成几个k*k的小块,小块中必须全是1或者0,通过修改小块的值,求最少改多少次求一下前缀和,然后就能很快算出每一小正方块中1的个数了,0的个数等于k*k减去1的个数,两个的最小值就是要加进答案的值。#include<iostream>#include<cstdio>#include<cstring>#include<...原创 2018-08-21 23:49:01 · 255 阅读 · 0 评论 -
牛客小白月赛6-C桃花-树直径
*树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径链接:https://www.nowcoder.com/acm/contest/136/C来源:牛客网题目描述桃花一簇开无主,可爱深红映浅红。——...原创 2018-08-20 17:58:57 · 164 阅读 · 0 评论 -
Haunted Graveyard ZOJ - 3391 最短路spfa
做这题过程坎坷唉题意有n*m个点,每一点可以向四个方向走,有些点是墓地不能走,有些点是山洞,当你走到该点时会传送到另外一点,所花费的时间有可能是个正数也可能是个负数也可能是0。起点是(0,0),目的地是(n-1,m-1),题目保证起点和终点不会是墓地也不会是山洞。如果有可能永远都到达不了终点也就是该图存在负权回路,输出Never否则输出需最少的花费时间或者Impossible;思路:存...原创 2018-08-20 11:53:37 · 126 阅读 · 0 评论 -
Finding Lines UVALive - 6955 随机
首先先判断一下一道题的数据范围如果提交代码出现runtime error:rand的数据范围可以超过题目所给的范围,所以就可以用了如果出现Time Limit Exceeded:rand的数据范围超不过题目所给的范围,一直在无限循环。#include<iostream>#include<cstring>#include<cstdio>...原创 2018-08-19 09:26:39 · 145 阅读 · 0 评论 -
容斥A - Eddy's爱好 HDU - 2204
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2204通过观察,可以发现若一个数可以表示成x^(k*t),则可以表示成(x^k)^t。因此指数必然为素数。然后对n开(x^k)^t次幂,求出这样得出来的数字是n以内有几个数能被某个数的(x^k)^t次幂表示。#include<iostream>#include<cstdi...原创 2018-08-29 15:40:29 · 182 阅读 · 0 评论 -
A.the greed of Yehan-spfa最长路-log权值转化
A.the greed of YehanDescriptionDuring the trip, Yehan and Linlin pass a cave, and there is a board at the door, which says if you have enough ambition, you will get lots of money from me. At the b...原创 2018-09-04 19:49:01 · 260 阅读 · 0 评论 -
牛客国庆集训派对Day4——D 最小生成树(简单思维)
题目链接:https://www.nowcoder.com/acm/contest/204/D题目大意: 小 A 有一张 n 个点的带权无向图,这张无向图非常特别,首先第 i 个点有一个点权 ai,之后这张无向图是一张完全图,且边 (u,v) 的权值为 au+av。现在小 A 想找一个这张图的边权之和最小的生成树,需要你来帮帮他。题意: 完全图是一个简单的无向...原创 2018-10-08 08:43:23 · 199 阅读 · 0 评论 -
牛客国庆集训派对Day4——j寻找复读机
链接:https://www.nowcoder.com/acm/contest/204/J来源:牛客网题目描述某个 QQ 群里一共有 n 个人,他们的编号是 1..n,其中有一些人本质上是复读机。小 A 发现,如果一个人的本质是复读机,那么他每次发的消息一定跟群里的上一条消息一样,特别地第一个发消息的人一定不是复读机。现在小 A 搞到了一份聊天记录,他想请你找出所有可能是复读机的群友...原创 2018-10-08 09:09:52 · 223 阅读 · 0 评论 -
Watchcow POJ - 2230-欧拉回路dfs输出
题目链接http://poj.org/problem?id=2230题目的意思是跑两边欧拉回路,方向相反,输出路径其实可以看作有向图,dfs一下,把每条边都走过去结束然后输出,之前想太复杂了#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>...原创 2018-08-24 15:17:18 · 211 阅读 · 0 评论 -
John's trip POJ - 1041-无向图欧拉回路-路径输出
题目链接:http://poj.org/problem?id=1041给你一个无向图,数据格式如点x 点y 边Z,表示由x点和y点构成了Z边。现在要问你该图中是否存在欧拉回路,如果存在,输出那条欧拉回路(输入按序走过的所有边标号)。且题目中保证了该无向图是连通的。这里注意dfs中无向图中遍历需要edge[i^1].flag=true;最后把edge[ans[i]].id所对应的边编号输...原创 2018-08-24 18:58:01 · 250 阅读 · 0 评论 -
网络赛1-D - Find Integer HDU - 6441
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6441费马定理,大于2是无解的n=2时当a是偶数时,b与c相差2;当a是奇数时,b与c相差1;在判断n=1时的情况#include<iostream>#include<cstdio>#include<cstring>#include<...原创 2018-08-27 11:14:59 · 129 阅读 · 0 评论 -
poj-3268-最短路-dijkstra算法
题目链接http://poj.org/problem?id=3268有编号为1-N的牛,它们之间存在一些单向的路径。给定一头牛的编号,其他牛要去拜访它并且拜访完之后要返回自己原来的位置,求这些牛中所花的最长的来回时间是多少。每头牛返回的最短时间很简单就可以算出来,这相当于从目标牛为起点求单源最短路径。但每头牛出发到目标牛的最短时间无法直接算出来,稍微转换一下,发现这个最短时间其实可以通过把...原创 2018-08-03 16:44:06 · 463 阅读 · 0 评论