
ACM
qiang_____0712
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
回溯法和生成测试法比较
回溯法就是是把问题划分为若干个步骤然后递归求解,如果本层没有合适的解,将返回上一层,这个过程中剪了很多不必要的数据,所以效率较高。生成测试时将所有的都穷举出来,然后测试。问题:素数环 https://vjudge.net/problem/UVA-524回溯法:对应n=16,不输出情况下使用43ms#include<cstdio>#include<algorit...原创 2018-11-13 10:49:09 · 739 阅读 · 1 评论 -
uva 10003 切木棍【1】
https://vjudge.net/problem/UVA-10003给一个0-L长度的木板,然后给N个数,表示0-L之间的某个刻度,最后要用刀把每个刻度都切一下 使其断开,然后每次分裂的cost是分裂前的木板的长度。求整个分开之后的最小cost。思路:d(i,j)表示切割小木棍(i,j)的最优费用,d(i,j)=min(d(i,k)+d(k,j)|i<k<j)+tp[j]-...原创 2018-12-12 23:11:01 · 322 阅读 · 0 评论 -
uva 11552 - Fewest Flops ( 多维dp )【1】
题目: https://vjudge.net/problem/UVA-11552题意题意:输入一个正整数 k 和一个字符串 S, 字符串的长度保证为 k 的整数倍。把 S 的字符串从左至右的顺序每 k 个分成一组,每组里面的字符串可以任意重排,但组与组间的顺序不能改变。你的任务是使重排后的字符串包含的 “块”尽量的少,每个 “块” 为连续的相同的字母。比如 uuvuwwuv 可以分为两...原创 2018-12-12 23:57:07 · 188 阅读 · 0 评论 -
UVA 10285 最长的滑雪路径(DP,递增序列)【1】
https://vjudge.net/problem/UVA-10285题目大意:给出一张n*m的雪地地图,每格标注的是该点的高度。从地势高的地方可以滑到地势低的地方(只能上下左右滑),问最长的滑雪距离。解题思路:逐一访问各点,若该点没有被访问过,看看周围各个点比这个点小的,且已经计算过的,取得这些值的最大并+1.记忆化DP.#include<iostream>#i...原创 2018-12-13 08:38:26 · 482 阅读 · 0 评论 -
UVA-1629 Cake slicing (DP、记忆化搜索)[1]
题目:https://vjudge.net/problem/UVA-1629一块n*m的矩形蛋糕,有k个草莓,现在要将蛋糕切开使每块蛋糕上都恰有一个草莓,要求只能水平切或竖直切,求最短的刀切长度。思路:定义状态dp(xa,ya,xb,yb)表示矩形左上角为(xa,ya)、右下角为(xb,yb)时需要切的最短长度。那么 可以分别按照x轴和y轴进行切割。 for(int i=ax+1;...原创 2018-12-13 10:42:49 · 290 阅读 · 0 评论 -
uva 120 翻煎饼【1】
Given a stack of pancakes, you are to write a program that indicates how the stack can be sorted so that the largest pancake is on the bottom and the smallest pancake is on the top. The size of a p...原创 2018-12-03 23:16:42 · 526 阅读 · 0 评论 -
uva --- UVA10881蚂蚁[1]
题意: 在一个木棍上有只小蚂蚁,他们的移动速度都是1,移动的时候如果和别的蚂蚁碰面,那么碰面的这两只小蚂蚁会马上掉头继续走,给你每只蚂蚁的初始距离木棒左端点的距离和方向,以及木棍长度,问你t时间后每个蚂蚁的状态。思路: 比较有意思的题,其实对于这个题目,我们考虑下,如果所有的蚂蚁都没有区别,那么两只蚂蚁相遇是不是相当于"穿过去"了?那么有区别的时候呢?其实也可以考虑是直接...原创 2018-12-19 17:13:33 · 181 阅读 · 0 评论 -
UVa11925 生成排列(Generating Permutations)---双向循环链表[1]
题目描述:给你一个特定序列,要求你经过一定的变换规则将升序列变为给的特定序列。https://vjudge.net/problem/UVA-11925变换规则为:1.第一个元素和第二个元素交换. 2、首元素到尾部。题目分析:逆着处理,最后输出的时候倒着输出就行了。若第一个元素大于第二个元素则交换,否则将最后一个元素变为首元素。注意:到第一个元素是n时,不进行交换,否则会出现死循环。找到...原创 2018-12-09 18:36:18 · 265 阅读 · 0 评论 -
UVa:1610 Party Games(字符串处理)[1]
题意:给出n个串(n为偶数);要构造一个串,使n串中有一半小于等于它,另外一半大于它;要求这个串长度尽量小,同时字典序小思路1:得益于string自带字典序比较,所以先对整个字符串组排序,那么中间两个a,b,答案就要满足大于等于a,小于b,因为有些细节问题的存在,所以直接暴力枚举就行了#include <iostream> #include <cstdio&g...转载 2018-12-09 20:34:29 · 154 阅读 · 0 评论 -
uva - 1664 Conquer a New Region (并查集 修改)[1]
【题目大意】有N个城市,N-1条路把这些城市连起来(刚好是一个树)。相邻的两个城市有一个运输容量C(i, j),而城市x到城市y的那条路的运输能力S取决与这条路上所经过的所有路中最小的那个容量。 以那一个城市为中心,到其他N-1个城市的运输能力总和最大?【思路】用神奇的并查集,把路按照权值从大到小排序,然后用类似Kruskal的方法不断的加入边。 对于要加入的一条路,这条路连接这城市x...原创 2018-12-20 21:51:22 · 262 阅读 · 0 评论 -
uva 10037 Bridge 规律[1]
题目大意:在夜晚有n个人过桥,但是只有一个手电筒,所以每次只能两个人过去,然后过去的一个人再把手电筒带过来,依次进行,知道所有人都过去。由于每个人的过桥速度不同,所以每一组的速度取决与较小的那个。求最快多久全过去,并且输出方案。思路:当n=1时,只有一个人,直接过去当n=2时,两个一起过。当n=3时,设A,B,C三人,A 速度最快,那么方案为:A BAA C当n...原创 2018-12-20 23:23:00 · 182 阅读 · 1 评论 -
UVA 1471 Defense Lines 防线
https://vjudge.net/problem/UVA-1471给一个长度为n的序列,要求删除一个连续子序列,使剩下的序列有一个长度最大的连续递增子序列。例如 Sample Input295 3 4 9 2 8 6 7 171 2 3 10 4 5 6Output46思路1: 最简单的想法是枚举起点j和终点i,然后数一数,分别向前或向后能延伸的最...原创 2018-12-10 19:54:55 · 212 阅读 · 0 评论 -
uva 11584 - Partitioning by Palindromes(简单dp)[1]
https://vjudge.net/problem/UVA-11584题目大意:给一个字符串, 要求把它分割成若干个子串,使得每个子串都是回文串。问最少可以分割成多少个。简单dp,P276.#include<cstdio>#include<algorithm>#include<ctime>#include<iostream>...原创 2018-12-11 14:44:15 · 224 阅读 · 0 评论 -
食物链 带权并查集[1]
https://vjudge.net/problem/POJ-1182动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y"...原创 2018-12-22 19:13:52 · 186 阅读 · 1 评论 -
UVALive-2965 中间相遇
https://vjudge.net/problem/UVALive-2965 题意:给出若干个由大写字母组成的字符串,要求选出尽量多的字符串,使得每个大写字母出现的次数是偶数。思路:如果说我们把每个字母映射为不同的数字,那么每个字符串就可以用不同的数字来表示,即按照二进制位转化各个字符。如ABCD既可以表示为1111,ABCE可以表示为11101。那么问题就转化成了给出n...原创 2018-12-22 23:17:00 · 173 阅读 · 1 评论 -
UVALive 3027---Corporative Network 并查集 和路径压缩[1]
https://vjudge.net/problem/UVALive-3027题意: 一开始有n个点,每个点都没有父节点。接下来不断执行I操作和E操作,直到执行O操作时结束; I操作:I u v,u的父节点为v,路线长度为|u-v|%1000,保证u不存在起始父节点。 E操作:E u,查询u到其根节点的距离,输出。 题解: 并查集+路径压缩。 不压缩会超时由于I操作时保证了u开始没有...原创 2018-12-25 21:55:46 · 160 阅读 · 0 评论 -
Ideal Path,uva1599/hdu 3760(最短路中字典序最小的路径)
https://vjudge.net/problem/UVA-1599给一个n个点m条边(2<=n<=100000,1<=m<=200000)的无向图,每条边上都涂有一种颜色。求从结点1到结点n的一条路径,使得经过的边数尽量少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条边可能连接两个相同结点。输入保证结点1可以达到结点n。颜色为1~10^9的...原创 2018-12-08 22:23:41 · 468 阅读 · 0 评论 -
uva 11456 - Trainsorting(dp,LIS)
https://vjudge.net/problem/UVA-11456题意 艾琳是个开火车的机师,她也负责车厢的调度。她喜欢把车厢依重量由大到小排列,把最重的车厢摆在火车的前方。 不幸的是,排列车厢并不容易。你不能直接把一截车厢拿起来放在别处。把一截车箱插入现有的列车中间并不切实际。一截车厢仅能接在列车的前面或后面。 车厢以事先排定的顺序抵达车站。当一截车厢抵达时,艾琳可以...原创 2018-12-12 16:02:49 · 187 阅读 · 0 评论 -
uva 10129(一次沉痛的纠错过程)【1】
https://vjudge.net/problem/UVA-10129统计首末字符的熟练,类似于“七桥问题”,根据数量来判断。存在的问题:1. 像aa,bb这样的例子是不可以的,但是的打补丁2,像ab,ba,是可以的,但是不存在数量为奇数的首末字母3. 多次补丁,通过了所有的测试例子,但是还是WA。4.Runtime Error的原因是返回了1,应返回0.2019年2...原创 2018-12-07 23:37:50 · 279 阅读 · 0 评论 -
A1149. FBI树--我的双螺旋解法[1]
问题描述 http://www.tsinsen.com/A1149 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2^N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: 1)T的根结点为R,其类型与串S的类型相同;...原创 2018-11-13 22:50:58 · 255 阅读 · 0 评论 -
卡特兰数(Catalan UVa 991 10303 10007 1478)[11]
https://blog.youkuaiyun.com/mobius_strip/article/details/39229895一、介绍 卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。 历史上,清代数学家明安图(1692年-1763年)在其《割圜密率捷法》最早用到“卡塔兰数”。 卡特...转载 2018-11-13 22:56:41 · 289 阅读 · 0 评论 -
UVA 1374 Power Calculus(迭代深搜)[1]
题目:Power Calculus https://vjudge.net/problem/UVA-1374题意:输入正整数n(1≤n≤1000),问最少需要几次乘除法可以从x得到x^n?例如,x^31需要6次 。 计算过程中x的指数应当总是正整数(如x^-3=x/x^4是不允许的)。思路:继续IDA*,看了紫书分析,我想的是每次将得到的集合排序后才能得到最大,看了代码库后,其实只需从深度d...转载 2018-11-15 21:48:58 · 250 阅读 · 0 评论 -
Krypton Factor UVA - 129 ACM题目————困难的串[1]
题目描述 https://vjudge.net/problem/UVA-129如果一个字符串包含两个相邻的重复子串,则称他是“容易的串”,其他串称为"困难的串"。例如,BB,ABCDACABCAB,ABCDABCD都是容易的串,而D,DC,ABDAB,CBABCBAD都是困难的串。输入输入正整数n和L。输出输出由前L个字符串组成的,字典序第k小的困难的串。例如,当L=3时,...原创 2018-11-14 08:15:13 · 172 阅读 · 1 评论 -
八数码问题---bfs模板[1]
问题描述:solution: 可以把8数码问题归结为图上的最短路进问题,图的结点就是9个格子中的滑块号,可以用BFS求解。 但是隐式图的遍历需要用一个结点查找表来判重。在这里用到了哈希表,这是竞赛中最常用的方式之一。note: 隐式图,哈希查找表,广搜我的理解:类似于树的分层遍历,给定的原始位置作为树根,将root转化后生产的四种状态作为第二层,以此类推,知道发现最终状态为止,那么...原创 2018-11-14 19:25:43 · 242 阅读 · 0 评论 -
结题报告UVA1374(错误)[12]
UVA1374 题意:输入正整数n(1≤n≤1000),问最少需要几次乘除法可以从x得到x^n?例如,x^31需要6次 。 计算过程中x的指数应当总是正整数(如x^-3=x/x^4是不允许的)。我对这个题目理解得不正确,而且是多次不正确。通过P211的图,我更好明白了每层扩展这能有1个,不能分叉都兼得。对深搜也有更好地认识了。实际上,小于logn的层都是找不到的。这是我错误的代码:...原创 2018-11-14 22:02:15 · 194 阅读 · 0 评论 -
UVa 817:According to Bartjens(DFS)[1]
题目链接 https://vjudge.net/problem/UVA-817题意:输入一个以等号结尾。前面只包含数字的表达式,插入一些加号、减号和乘号,使得运算结果等于2000.表达式里的整数不能有前导零(例如,0100和000都是非法的),运算符都是二元的(例如,2*-100*-10+0=是非法的),并且符合通常的运算优先级法则。输入数字个数不超过9。如果有多解按照字典序从小到大输出:...原创 2018-11-17 09:58:09 · 224 阅读 · 0 评论 -
leetcode------139. 单词拆分[1]
问题描述: https://leetcode-cn.com/problems/word-break/description/给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", ...原创 2018-11-23 21:58:02 · 172 阅读 · 0 评论 -
leetcode------523. 连续的子数组和[1]
题目描述:https://leetcode-cn.com/problems/continuous-subarray-sum/description/给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: T...原创 2018-11-24 01:04:47 · 410 阅读 · 0 评论 -
UVA 1658 - Admiral (拆点+最小费用流)
原文链接 https://vjudge.net/problem/UVA-1658【题意】给出v(<=1000)个点和e(<=10000)条边的有向图,求1~v的两条不相交(除了起点终点外没有公共点)的路径,使得权和最小。【分析】求的是两条不相交的路径,这样就是除了起点和终点能访问两次外,其他点都只能访问一次,如果直接用最小费用流求的话,因为算法只能对边限制而不能限制点,这里每个...原创 2018-11-28 21:36:56 · 176 阅读 · 0 评论 -
uva1395 -------Slim Span (最小生成树Kruskal,并查集)[1]
题目链接:https://vjudge.net/problem/UVA-1395题意: 给出一个n个结点的无向图,找一棵苗条度(最大边减去最小边)最小的生成树。图中不含重边和自环。题解: 首先对边的权值大小排序,从小到大开始枚举最小生成树。这是Kruskal得到最小生成树,这里使用struct结构处理边的信息在判断一个边的两个点是否属于同一个集合的时候,使用了并查...原创 2018-11-26 11:11:05 · 944 阅读 · 0 评论 -
UVa 10917 --------Dijkstra+DP【模版】[1++]
题目链接:https://vjudge.net/problem/UVA-10917题意:Jimmy打算每天沿着一条不同的路走,而且,他只能沿着满足如下条件的道路(A,B):存在一条从B出发回家的路径,比所有从A出发回家的路径都短,你的任务是计算有多少条不同的路径注意,这里出发点为1,目的点为2。思路,1 以点2为目的地,使用Dijkstra计算各个点到终点的路径,这里有现成的Dij...原创 2018-11-26 17:38:18 · 293 阅读 · 1 评论 -
UVA 11090 Bellman-Ford,最短路[1]
https://vjudge.net/problem/UVA-11090题意:给n条边和权值,求能形成的环中,权值和除以点的个数的值的最小值思路:其实做的时候一点思路也没有,在网上看了别人的题解,还是很简单的,思维还是没锻炼到啊....,就是用二分判断mid,将所有的边权减去mid,如果这时候有负环的话,则说明这个mid是可以满足的,比如说没减去mid时,有一个k个点形成的环的权值和为k*...转载 2018-11-28 17:01:57 · 212 阅读 · 1 评论 -
uva 820 增广算法 EdmondsKarp
https://vjudge.net/problem/UVA-820有一个计算机网络,输入节点数n,输入网络流源点和汇点src,des,再输入双向边数m。给出m条边的负载,求最大流。#include<vector>#include<algorithm>#include<string>#include<iostream>#includ...转载 2018-11-28 19:10:27 · 240 阅读 · 0 评论 -
uva572 油田---DFS或者并查集【1】
https://vjudge.net/problem/UVA-572给你一块地图 ,其中' @ '代表探测到有油的地方, 而' * '则是代表没有油的地方。 现在题目给出了油田的定义,所有连在一起的' @ ' 代表一个油田, 而连在一起的定义是有公共点或公共边。 而题目的要求是输出给你一张地图上的油田的个数。 思路: 这个题没什么特别的思路, 就是找到一个初始的' @ ', 然后遍历一遍,把与...原创 2018-12-07 22:19:00 · 286 阅读 · 1 评论 -
浙大复试 畅通工程 输入优化,并查集【1】
https://vjudge.net/problem/HDU-1233 Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input 测...原创 2019-02-21 10:05:56 · 124 阅读 · 0 评论