自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 王者农药 - 程序实习周作业

#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>#include<vector>#include<sstream>#

2018-06-23 22:21:00 1045 1

原创 Alternating Sum CodeForces - 964C

CodeForces - 964C题意 : 给定一个公式,给你一个k个字符,表示前k个的加减规则(且以k为循环),然后就是让你求这段长度中的值,结果对1e9+9取余。思路 : 快速幂!!!!!! :  费马小定理取逆元            #include<cstdio>#include<cmath>#include<iostream>#include&...

2018-04-19 23:33:37 231

原创 Tree Reconstruction UVA - 10410

UVA-10410题目:给一棵树的BFS,DFS的遍历序列,求这棵树每个结点的子结点。思路:(看了无数大佬们的题解,才想明白一些问题)         这个题考察了对BFS、DFS遍历的理解。         设定BFS[i]来表示结点i在BFS中的出现下标。如果BFS[u] + 1 < BFS[v]说明结点v在BFS序列中不紧贴着u,且在u后部,则v一定是u的子结点。         DF...

2018-04-09 20:29:27 222

原创 Brackets sequence UVA - 1626

UVA-1626题意:输入一个由 "(" 、 ")" 、 "[" 、 "]" 构成的序列,添加尽量少的括号,得到一个规则序列。//递归结构的动态规划#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<

2018-04-07 22:59:20 144

原创 Codeforces Round #467 (Div. 2) D. Sleepy Game

题意:给你一个n个点m条边的有向图,再给你一个起点x,问存不存在一条路径满足①经过奇数条边到一个出度为0的结点,如果存在输出Win,并在第二行输出这个路径,否则你再看能不能通过从起点走进一个环中,如果可以输出Draw,环也走不进输出Lose。思路:一个DFS问题。首先借用拓扑排序来看一看是否纯在有向有环图。在通过DFS来看看能否通过奇数步到达出度为0的点。为避免重复,用vis[i][0]、vis[...

2018-04-07 22:45:51 141

原创 Equilibrium Mobile UVA - 12166

UVA-12166题目:一个天平表达式:[A,B],其中A和B为一个数值或又一个天平表达式。每个天平表达式代表的天平所有长度相等,故如果需要平衡,则要求两边质量相等。题目则是给出了一个天平表达式,要求计算,在给出表达式的情况下,如果要求平横,则最少需要调整几个物体。思路:       原来是直接想要怎么改变,才能不影响父层的重量改变,后来越想越尴尬,就废了。       随后参考了大佬的思路,发现...

2018-04-06 21:58:33 192

原创 It's not a Bug, it's a Feature! UVA - 658

UVA-658题目:假定有n个潜在的bug和m个补丁,每个补丁用长为n的字符串表示。首先输入bug数目以及补丁数目。然后就是对m个补丁的描述,共有m行。每行首先是一个整数,表明打该补丁所需要的时间。然后是两个字符串,地一个字符串是对软件的描述,只有软件处于该状态下才能打该补丁该字符串的每一个位置代表bug状态(-代表该位置没bug,+代表该位置有bug,0表示该位置无论有没有bug都可打补丁)。然...

2018-03-29 22:32:59 175

原创 复杂的整数划分问题 OpenJ_Bailian - 4119

OpenJ_Bailian-4119Input标准的输入包含若干组测试数据。每组测试数据是一行输入数据,包括两个整数N 和 K。 (0 < N <= 50, 0 < K <= N)Output对于每组测试数据,输出以下三行数据: 第一行: N划分成K个正整数之和的划分数目 第二行: N划分成若干个不同正整数之和的划分数目 第三行: N划分成若干个奇正整数之和的划分数目#in...

2018-03-29 21:57:59 608 2

原创 Lighting System Design UVA - 11400

题目:题意给定n种类型灯泡,每个灯泡给出其电压v,电源花费k,每个灯的花费c和需求量l,现在通过用电压大的灯泡替换某些电压小的灯泡来减小总花费,求最小的花费。分析:易得出每种电压的灯泡要么全换,要么全不换。#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#in...

2018-03-27 19:40:06 173

原创 Choose and divide UVA - 10375

UVA-10375题目:题意:已知C(m,n)=m! / (n!*(m-n!)),输入整数p,q,r,s(p>=q,r>=s,p,q,r,s<=10000),计算C(p,q)/C(r,s)。输出保证不超过10^8,保留5位小数。思路:唯一分解定理。#include<cstdio>#include<cmath>#include<iostream&g...

2018-03-25 22:34:44 120

原创 Audiophobia UVA - 10048

UVA-10048题目:题目大意:给定一无向图,每条边都有一个权值,现在给你起点和终点,要求你找出起点到终点途经的边的最大值,要求这个值尽量小,到不了输出no path。思路:Floyd问题。#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include&l...

2018-03-25 22:32:18 137

原创 Calling Circles UVA - 247

UVA-247题目:给如果两个人互相打电话(直接或者间接),则说他们在同一个电话圈里。例如,a打给b,b打给c,c打给d,d打给a,则这四个人在同一个圈里;如果e打给f,而f不打给e,则不能推出e和f在同一个电话圈。输入n(n<=25)个人的m次电话,找出所有的电话圈。人名只包含字母,不超过25个字符,且不重复。分析:Floyd传递闭包问题#include<cstdio>#in...

2018-03-25 22:30:00 130

原创 Minimum Sum LCM UVA - 10791

UVA-10791题目:输入整数n,求至少两个正整数,使它们的最小公倍数为n,且这些整数的和最小。输出最小的和。分析:唯一分解定理。特殊情况时注意特殊处理。#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<cstdlib>#inc...

2018-03-24 23:33:50 128

原创 Colossal Fibonacci Numbers! UVA - 11582

UVA-11582题目:输入a,b,m。有斐波拉契数列F[i],求F[a^b]%m的值。0<=a,b<=2^64,1<=m<=1000。分析:设G[i] = F[i]%m,由于如果G[i-1],G[i]重复出现,于是之后G[i]会周期性的出现。由于1<=m<=1000,于是周期最多为m^m。只需求出a^b是周期T中的第几项即可。于是有涉及到了快速幂公式。#inc...

2018-03-24 23:27:09 160

原创 POJ NOI题库9268-酒鬼

描述Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。今天,他来到这个大客厅欣赏他的奖品。房东摆出了一行瓶子在酒吧上。瓶子里都装有不同体积的酒。令Santo高兴的是,瓶子中的酒都有不同的味道。房东说道:“你可以喝尽可能多的酒,但是一旦打开酒盖你就必须把它喝完,喝完一瓶后把它放回原处。还有一件最重要的事,你必须从左至右依次喝,并且不能连续超过三瓶,不然会给你带来坏运气。”现在可...

2018-03-22 19:08:21 826

原创 Dropping water balloons UVA - 10934

UVA-10934题目:        给你 k 个气球和一个n层的楼来做实验。任务是求出至少需要多少次实验,才能确定气球的硬度。如果63次都不够测出来,则输出 More than 63 trials needed.    #include<cstdio>#include<cmath>#include<iostream>#include<cstrin...

2018-03-20 18:55:02 172

原创 埃及分数问题 IDA*

  题意在古埃及,人们使用单位分数的和(即1/a,a是自然数)表示一切有理数。 例如,2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为在加数中不允许有相同的。 对于一个分数a/b,表示方法有很多种,其中加数少的比加数多的好,如果加数个数相同,则最小的分数越大越好。 例如,19/45=1/5+1/6+1/18是最优方案。 输入整数a,b。分析本题可以用dfs回溯来求解。但是由于本题没有指...

2018-03-18 21:05:47 1118 1

原创 POJ NOI题库 7624-山区建小学

描述政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为di(为正整数),其中,0 < i < m。为了提高山区的文化素质,政府又决定从m个村中选择n个村建小学(设 0 < n < = m < 500 )。请根据给定的m、n以及所有相邻村庄的距离,选择在哪些村庄建小学,才使得...

2018-03-18 14:52:01 378

原创 Self-Assembly UVA - 1572

UVA-1572思路:        原来没看懂题目,一直没懂它旋转和翻转是啥意思。        这个题可以把每一个正方形的边看成一个点。将一个正方形的A+边变成另一个正方形的B+边 可以看做是A+ ->  B+的一条有向边。          比如说一个正方形有两个边的编号为A+和B+,于是如A+边和一个A-边连接后就构成了A-边 ->  B+边 的一条有向边。          ...

2018-03-16 23:03:54 223

原创 Tour UVA - 1347

UVA-1347思路:真的不会写动态规划题!         直接用一维数组保存状态,不可做,因为起点和终点都是一样的!不可以用一个数就能充分说明当前状态是独一无二的。         然后考虑用二维数组来保存状态,来模拟两个人走路,为了方便状态转移,用dp[i][j]表示第一个人走到i,第二个人走到j时,他们都到达终点n还要至少走多远,其中1~max(i,j)都已经全部走过,且i>j。于是...

2018-03-14 22:48:27 119

原创 The Morning after Halloween UVA - 1601

UVA-1601题目:分析:原来没看懂书上说的“把所有的空格提出来建立一张图”,于是想还是像往常一样用一个二维数组来保存地图,后来想了想实现的问题,发现十分复杂就放弃了。        后来查了查巨佬的题解,发现使用邻接表来保存空格图。实现方法是在输入时对每一个非墙结点编号,用ID[i][j]表示(i,j)点的编号。输入完成后,遍历每一个编号结点,建立邻接表。#include<cstdio&...

2018-03-14 22:24:42 162

原创 POJ8786:方格取数

POJ8786描述设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。如下图所示(见样例):< p="">某人从图的左上角的A 点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。 此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。输入输入的...

2018-03-11 20:19:14 419

原创 POJ1481-Maximum sum

POJ1481题目:给定一组序列,求其两个不同的子序列,使得两子序列中数值值之和最大,求这个最大值。#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>#inclu...

2018-03-10 15:54:29 229

原创 Fill UVA - 10603

UVA-10603题目:给容量为a,b,c的杯子,开始只有第三个杯子装满水,另外两个为空。问最少要倒多少升水才能让其中某一个杯子中有水d升?如果没有办法恰好做到d升,就让某一个杯子里的水为D升,其中D<d并且尽量接近d。(1<=a,b,c,d<=200)。输出最少的倒水量和目标水量。分析:用BFS。由于目标是最少倒水量,不是步骤少的优先,于是考虑用优先队列,让倒水量少的状态先出列...

2018-03-10 14:20:51 177

原创 Ideal Path-UVa1599

UVA-1599题目:给一个n个点m条边(2<=n<=1000000,1<=m<=2000000)的无向图,每条边上都涂有一种颜色。求从结点1到结点n的一条路径,使得经过的边数尽量少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条边可能连接两个相同结点。输入保证结点1可以到达结点n。颜色为1-100000000的整数。(翻译取自《算法竞赛入门经典》)...

2018-03-07 23:07:26 224

原创 Partitioning by Palindromes UVA - 11584

UVA - 11584题目:输入n个字符串,试图将每个字符串拆分成 数目最小 的回文串,输出回文串个数。思路:    1️⃣(TLE):            用dp[i][j]来表示字符串的第i-j个字符所含的最少回文串。for(int t = 0;t<=len-1;t++){ int i = 1; while(1){//先对dp初始化,若第...

2018-03-01 23:31:01 194

原创 POJ8462:大盗阿福

POJ8462大盗阿福题目:    阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。    这条街上一共有 N (1 <= N <= 100, 000) 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。    作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在...

2018-03-01 23:18:30 349

转载 Jin Ge Jin Qu hao UVA - 12563

UVA-12563 题意:求在给定时间内,最多能唱多少歌曲,在最多歌曲的情况下,使唱的时间最长。 思路(引用原博,侵删):    该题类似于01背包问题,可用01背包问题的解题思路来求,每个歌曲相当于物品,歌曲的长度相等于物品重量,每个歌曲的“价值”为1。由于金歌劲曲时间最长,所以最后要留至少1秒时间开始唱金歌劲曲,所以计算t-1时间内最多唱的歌曲和时间,最终答案为歌曲数加1,时间加上金歌劲曲的时...

2018-02-28 23:25:28 128

原创 The Tower of Babylon UVA - 437

UVA-437问题:                                                                                          有n(n≤30)种立方体,每种都有无穷多个。要求选一些立方体摞成一根尽量高的柱子(可以自行选择哪一条边作为高),使得每个立方体的底面长宽分别严格小于它下方立方体的底面长宽。分析:    其实这就是一个...

2018-02-27 22:40:51 161

原创 Updating a Dictionary UVA - 12504

UVA - 12504题目:(翻译来自算法竞赛入门经典P136)思路: STL的应用#include <iostream>#include <map>#include <set>#include <queue>#include <string>#include <sstream>#include <cstdi...

2018-02-25 14:08:53 122

原创 The Falling Leaves UVA - 699

UVA-699思路:由于是通过递归的方式输入,于是编写一个递归过程进行输入比较好。(思路,题目图片取自紫书)#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>#i...

2018-02-18 16:23:35 152

原创 Not so Mobile UVA - 839

UVA - 839思路:由于是通过递归的方式输入,于是编写一个递归过程进行输入比较好。(思路,题目图片取自紫书)#include<cstdio>#include<cmath>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>...

2018-02-18 15:47:22 152

原创 Tree UVA - 548

UVA-548题目:给一棵点带权(权值各不相同,都是小于10000的正整数)的二叉树的中序和后序遍历,找一个叶子使得它到根的路径上的权和最小。如果有多解,该叶子本身的权应尽量小。输入中每两行表示一棵树,其中第一行为中序遍历,第二行为后序遍历。(题目翻译取自刘汝佳《算法竞赛入门经典》P155)。#include<cstdio>#include<cmath>#include...

2018-02-18 14:38:55 158

原创 Flooded! UVA - 815

UVA - 815题目:有一个n*m(1<=m,n<30)的网格,每个格子是边长10m的长方形,网格四周是无限大的墙壁。输入每个格子的海拔高度,以及网格内雨水的总体积,输出水位的海拔高度以及有多少百分比的区域有水(即高度严格小于水平面)。思路:由于水位的海拔高度的范围是确定的,网格内的雨水总体积确定。因此可以用二分查找法来枚举水位的海拔高度。#include<cstdio>...

2018-02-17 20:52:51 222

原创 Compound Words UVA - 10391

UVA-10391题目:给出一个词典,找出所有的复合词,即恰好有两个单词连接而成的单词,输入每行都是一个由小写字母组成的单词。不超过120000个单词。输出所有的复合词,按照字典序从小到大排列。思路:由于最多有120000个单词,通过两两单词合成必定会超时。于是用看每个单词能否拆分成两个单词,来找复合词。#include <iostream>#include <map>...

2018-02-17 20:44:37 220

原创 Symmetry UVA - 1595

UVA-1595题目:给出平面上的N(N<=1000)个点,问是否可以找到一条竖线,使得所有的点左右对称。思路:先判断纵坐标(y值)相同的点,是否关于同一个直线x对称。最后在判断不同y值下的点是否关于同一个直线x对称。如果相同y下有奇数个点,则最中间的点的x值就必须为该y值下对称轴的x坐标。        用map<int,vector<int>>来表示坐标轴y下的所...

2018-02-17 20:29:12 158

原创 Ducci Sequence UVA - 1594

UVA - 1594题意:对于一个n元组(a1,a2, ... ,an),可以对于每个数求出它和下一个数的差,得到一个新的n元组(|a1-a2|,|a2-a3|,... ,|an-a1|)。重复这个过程,得到的序列称为Ducci序列,例如:(8, 11, 2, 7) → (3, 9, 5, 1) → (6, 4, 4, 2) → (2, 0, 2, 4) → (2, 2, 2, 2) → (0, ...

2018-02-17 20:13:08 205

原创 The SetStack Computer UVA - 12096

UVA - 12096由于这个题目集合不是一般的集合,是集合的集合,因此给每个不同的集合分配一个唯一确定的ID,则将集合的集合转化为ID的集合。//思路来源于刘汝佳《算法竞赛入门经典》P116#include <iostream>#include <map>#include <set>#include <queue>#include <...

2018-02-12 20:08:04 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除