自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACMer 梁剑锋 的博客

一点点的进步

  • 博客(35)
  • 收藏
  • 关注

翻译 【DFS】HDU - 2181 哈密顿绕行世界问题

Problem Description 20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市代码: 很简单的DFS,第一次敲的时候,样例怎么都不对不知道为何,全删了在敲一遍就A了#include<cstdio>#include<cstring>using namespace std;int map[30][30], vis[30], Pre[30], cas;//地图,标记城

2017-05-28 16:42:11 270

翻译 【数组二叉树】UVA - 679 Dropping Balls

Problem Description 每行输入深度d和小球的数量num,一个小球一个小球的下落,经过小球数为偶数开关关闭,朝左边走,奇数开关打开,朝右边走,问你最后一个小球下落在下标多少#include<bits/stdc++.h>using namespace std;int main(){ int n, d, num; while(~scanf("%d", &n))

2017-05-28 16:25:49 219

翻译 【数组模拟链表(双向)】UVA - 12657 Boxes in a Line

Problem Description 给你n和m,分别对应1-n的编号,和m行操作,有四种情况1 X Y:X移动到Y的左边, 2 X Y: X移动到Y的右边, 3 X Y:交换位置, 4 反转整个编号。代码:#include<bits/stdc++.h>using namespace std;int lt[100055];//记录i点的左边下标int rt[100055];//记录i点

2017-05-28 16:19:22 401

翻译 【数组模拟链表】UVA - 11988 Broken Keyboard

Problem Description 输入一行文本,如果遇到’[‘就会跳到最前面继续输入,如果遇到’]’就会跳到最后面继续输入代码:数组模拟链表的后面插入#include<cstdio>#include<cstring>using namespace std;char s[100005];//数据数组int next[100005];//指向数组int main(){ i

2017-05-28 16:11:16 298

翻译 【栈】UVA - 514 Rails

Problem Description 输入一个n,无限组后面有n个数(直到n个数的第一个是0退出循环),让你判断1-n从A进去,能不能满足着n个数的顺序出去,能就Yes,否则No。代码:水题#include<bits/stdc++.h>using namespace std;int main(){ int n, i; int num[1010]; stack<i

2017-05-28 15:51:12 292

翻译 【BFS 康拓 A*】HDU - 1043 Eight

Problem Description 给你一个3*3的数组,让你变为1 2 3 4 5 6 7 8 x,x只能上下左右和旁边的交换位置,让你求出操作步骤。**代码:正常想法就是正常的BFS,BFS肯定要记录状态,标记状态,用正常的方法记录这个数组的状态,很大。所以用康拓展开(枚举全排列,九个数362880种情况),知道如何记录状态了,但是如果正常的BFS跑,情况太多,肯定会超时,所以得有目的

2017-05-27 10:04:34 315

翻译 【栈 && 矩阵的知识】UVA 442 Matrix Chain Multiplication

Problem Description 给你n个矩阵,每个矩阵由一个字母命名,后面跟着矩阵的n行m列。 输入字符串要你求它相乘的次数,如果不能相乘输出error代码:A的列数不等于B的行数不能相乘,假定A是m*n矩阵, B是n*p矩阵,那么AB是m*p矩阵,乘法次数m*n*p..#include<bits/stdc++.h>using namespace std;struct nod

2017-05-24 11:50:16 232

翻译 SDUT 3812 离散题目18

Problem Description 给出一个集合A和A上的关系R,求关系R的传递闭包。 例如: A={0,1,2} , R={<0,0>,<1,0>,<2,2>,<1,2>,<2,1>} t(R) = {<0,0>,<1,0>,<2,2>,<2,1>,<1,2>,<1,1>,<2,0>};Input 多组输入,输入n、m,集合A={0, 1, …,

2017-05-24 09:47:40 231

翻译 SDUT 3811 离散题目17

Problem Description 给出集合X和X上的关系R,求关系R在X上的对称闭包s(R)。 例如: X={1,2,3,4,5} , R={<1,1>,<2,1>,<3,3>,<2,3>,<3,2>,<4,5>} s(R)= {<1,1>,<1,2>,<2,1>,<2,3>,<3,2>,<3,3>,<4,5>,<5,4>}Input 多组输入,每组输入

2017-05-24 09:44:30 216

翻译 SDUT 3810 离散题目16

Problem Description 给出集合A,以及集合A上的关系R,求关系R的自反闭包。Input 首先输入t,表示有t组数据. 每组数据第一行输入n,表示A中有n个数据,接下来一行输入n个数,(4 <= n < 100, 0 < Ai < 100) 第二行输入m,代表R中有m对关系(0 < m < 100) 接下来m行每行输入x,y代表< x,

2017-05-24 09:39:46 279

翻译 SDUT 3809 离散题目15

Problem Description 给出集合X、X上的关系R,判断关系R是不是传递的。 例如: A={1,2,3} , R={<1,1>,<1,2>,<2,1>,<3,3>,<2,3>,<3,2>, <2,2>,<1,3>,<3,1>} 显然,R具有传递性。Input 多组输入,每组输入第一行为集合X的元素;第二行为一个整数n ( n > 0 ),代表X上的关系R中序偶的个数

2017-05-24 09:36:03 361

翻译 SDUT 3808 离散题目14

Problem Description 判断集合是不是对称的。Input 首先输入两个数n,m表示集合中元素的个数,以及存在的关系数。 接下来1行包含n个以空格分隔的整数。 接下来m行,每行包含两个数a,b表示关系。 (1< = n < = 1000,1 < = a,b < = n,m < = n*(n-1)&& m < = 1000)Output 对于

2017-05-24 09:32:23 257

翻译 SDUT 3807 离散题目13

Problem Description DaYu平时只顾着看电影,没有学习离散,学期末快考试的时候才慌了神,因为时间不够,因此他决定只复习一个知识点,但是他发现他一个知识点都不会,因此他跑过来请你帮他解决一个问题。求一个集合是否是自反的。Input 第一行输入组数T(T<10),每组的第一行输入集合元素个数m(m < 100)和对应关系个数n(n < 100),集合中元素为1,2,…,m,

2017-05-24 09:26:53 212

翻译 SDUT 3806 离散题目12

Problem Description 给出两个集合,以及两个集合上的关系。判断该关系能不能构成函数 Input 多组输入。第一行数字表示集合A;第二行数字表示集合B;第三行一个数字N,表示关系的个数。以下N行,每行两个数字a b,用来描述关系a→b。0 < n < = 20000,集合A、B的大小不超过10000.Output 每组数据输出一行,所给关系属于函数,输出’yes’ ,

2017-05-24 09:22:44 471

翻译 SDUT 3805 离散题目11

Problem Description 给定一个数学函数写一个程序来确定该函数是否是双射的Input 多组输入。 第一行输入三个整数n,m,k,分别表示集合a中的元素个数,集合b中的元素个数,集合a到b的映射个数。 第二行输入n个数,代表集合a中的元素。 第三行输入m个数,代表集合b中的元素。接下来k行,每行两个数,代表集合a中的元素x和x在集合b中的像y。Output 每组数据输出

2017-05-24 09:18:59 638

翻译 SDUT 3804 离散题目10

Problem Description 让你证明集合A,B的函数关系是满射Input 多组输入直到文件结束,对于每组输入,第一行先输入一个n(A集合里的元素个数),m(B集合里的元素个数),k(F数学函数关系的条数)。 0 < n,m < 10000, 0 < k < n; 第二行输入有n个元素,分别为a1到an;

2017-05-24 09:12:41 269

翻译 SDUT 3803 离散题目9

Problem Description 给定一个数学函数F和两个集合A,B,写一个程序来确定函数是单射。 即A中的任意一个元素唯一的对应一个函数值,并且该值为B集合中的某个元素。Input 多组输入。 首先输入集合的元素数n<=100000。 接下来的一行输入n 个整数0<=ai<=n。 接下来的一行输入n个整数 0<=

2017-05-24 09:03:39 318

翻译 SDUT 3802 离散题目8

Problem Description 现有一个全集U,U={ x | x>=1 && x<=N } 。 对于U的任意子集A,现在定义一种位集(bitset)Abit用来描述U的子集A: 该位集由1,0组成,长度为N,对于集合A中的任意元素x,集合Abit 在第x位且仅在第x位有对应的1存在,其余位置为0。 例如: 对于全集U,其对应的描述位集Ubit = { 111

2017-05-24 08:56:45 278

翻译 SDUT 3801 离散题目7

Problem Description DaYu在新的学习开始学习新的数学知识,一天DaYu学习集合的时候遇到一个问题,他有一个集合A和A的子集B,他想用一个二进制串表示集合B。Input 多组输入,每组的第一行有两个数n,m,(0< m < n < 10^5). 第二行输入n个数表示集合A,第三行输入m个数表示集合B,|data_i|< 10^5Output 输出一个01

2017-05-24 08:52:00 273

翻译 SDUT 3800 离散题目6

Problem Description bLue 最近忙于收集卡片,已知可收集的卡片一共有 n 种,每种卡片都有唯一的编号。 现在给出 bLue 已经收集到的 m 种卡片,你能告诉他剩下的没收集到的卡片都有什么吗?Input 多组数据,到 EOF 结束(数据组数不超过 100)。 每组数据第一行输入 2 个整数 n (1 <= n <= 100), m (1 <= m <= n)

2017-05-24 08:47:49 235

翻译 SDUT 3799 离散题目5

Problem Description DaYu收藏了许多电影,他有个志同道合的小伙伴DiGou也收藏了许多电影(电影编号<10000),这天,DaYu把DiGou的电影拷贝到自己的电脑上,他想知道现在他的电脑上有哪些电影。请你帮他列出他电脑上所有电影的编号。因为DaYu和DiGou心有灵犀,所以他们的小电影命名方式相同,同样的电影的编号相同。按照编号从小到大输出。Input 多组输入,每

2017-05-24 08:43:17 230

翻译 【判断点在不在三角形内】FZU 2148 Moon Game

Problem Description 给你T组测试数据,每组测试数据给你一个n,接下来有n组,每组有代表一个坐标分别为两个正整数,问你能构成几个不是凹的四边形。思路:核心考点,如何判断点在不在三角形内,如果在三角形内,那么该点与其他三个顶点分别组成的三角形和,等于其他三个顶点组成三角形的和。还有就是如果求三角形面积,这里用的是向量积。再次让我明白数学的重要,平时高数课就得好好听课好好学。#i

2017-05-20 19:53:05 453

翻译 【BFS】POJ 3126 Prime Path

Problem Description 输入T组数据,每组数据对应两个千位的素数,要你操作左边的素数变成右边的素数最少的变换(只能改变一个数字,而且变换成的数一定得是素数)次数。代码:需要注意的点就是,个位数肯定不能是偶数,千位数肯定不能是0#include<cstdio>#include<cstring>#include<queue>using namespace std;queue

2017-05-19 09:53:28 412

翻译 【BFS + 保存操作】POJ 3414 Pots

Problem Description 给你三个数据,分别表示两个杯子的体积,和要你装出来的体积,两个杯子可以互相倒,也可以倒掉水,也可以装满水。要你输出最少的操作步骤,包括如何操作的。代码:以前在自家OJ做过一样的题,但是那个题,不需要保存操作。。#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#i

2017-05-19 09:48:34 188

翻译 【BFS+保存路径】POJ 3984 迷宫问题

Problem Description 给你一个5*5的二维数组,表示一个迷宫,0可以走,1不可以走,问你从左上角到右下角,最短的路径,保证数据有唯一的解。代码:BFS从左上角跑到右下角就好了,没跑到一个点记录,是那个点到的这个点。后面翻转下路径输出就可以了#include<cstdio>#include<cstring>#include<vector>#include<queue>u

2017-05-19 09:38:12 839

翻译 【BFS】HDU 1241 Oil Deposits

Problem Description 输入一个n*m的矩阵,@代表油田,*代表空地.斜上斜下上下左右有油田都算一堆,问你有多少堆油田.代码: 记录下所有油田的下标,对于每个油田跑BFS就好了#include<bits/stdc++.h>using namespace std;struct node{ int u, v;};char Map[150][150];int vi

2017-05-19 09:32:20 170

翻译 【BFS】HDU 1495 非常可乐

Problem Description 给你一瓶S体积的可乐,N和M容量的杯子,他们可以互相倒,问你能不能平分这瓶可乐,能的话,输出需要倒多少次,不能的话,输出NO.代码: 就是情况多了点而已#include<bits/stdc++.h>using namespace std;struct node{ int sum, u, v;};queue<node> q;int s,

2017-05-19 09:24:15 217

翻译 【BFS】POJ 3087 Shuffle'm Up

Problem Description 给你T组数据,每组数据,输入一个n, 代表两幅扑克的数量,输入两幅扑克对应的字母,字母不同代表颜色不同,再输入一行,代表两个扑克混合在一起的结果。问你洗牌(交叉混合,第二幅扑克先在下)洗几次可以得到混合的扑克代码:一开始没理解好题目,以为那一副扑克在下面都可以,就分了两种情况,发现得不到样例的结果,后面发现是按一种情况洗牌而已#include<cstdi

2017-05-19 09:15:07 211

翻译 【双向队列,单向队列,坑爹的题目】Uva 210 Concurrency Simulator

Problem Description 我的天,这个题目无法理解,只能强行跟着别人博客的代码理解题目了。先输入t组测试样例,每组结果之间有空行。每组测试样例输入n,t1,t2,t3,t4,t5,Q,分别表示有n个程序,五种情况需要对应的时间,每次最多运行那么多时间。(赋值)(打印)(lock)(unlock)(end)lock, unlock这两个是重点。这两个lock,unlock出现没有什么

2017-05-16 21:42:50 711

翻译 【BFS】FZU 2150 Fire Game

Problem Description 给你T组数据,给你一个n,m的矩阵,.#分别代表空地,草丛。让你找两个草丛,开始烧,要求把所有的草都烧完,所需要最少的时间。烧一个草可以向上下左右扩散,扩散时间+1.代码:找到所有草地下标。两两遍历所有的草丛,求出最小#include<cstdio>#include<queue>#include<algorithm>#include<cstring

2017-05-15 22:05:02 193

翻译 【BFS】HDU 2612 Find a way

Problem Description 给你一个n,m的矩阵,里面有Y.#@M分别代表小明家,路,墙,KFC,小红家。问你那个KFC使得到两个人家距离最近代码:一开始,先找@,BFS每个@找到Y,M求和,发现超时,换了一种方法,先找Y,M分别BFS这两个,找到距离所有的KFC的距离。后面暴力求最小(每一步11分钟)#include<algorithm>#include<cstdio>#in

2017-05-15 21:55:59 183

翻译 【大数相加】SDUT 2046 RSA加密运算

Problem Description RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。由于RSA算法加密强度高、原理简洁易懂以及专利限制已过期等优势,被越来越多的共享软件采用。 RSA要依赖大数的运算,目前主流RSA算法都建立在512位到1024位的大数运算之上,而我们一般程序设计语言的整数类型能够表示数据范围是有限的(

2017-05-15 19:29:32 395

翻译 【水题】UVA 512 Spreadsheet Tracking

Problem Description 给你r行c列的电子表格,给你n个操作,具体来说一共有五种操作: EX r1 c1 r2 c2交换单元格(r1,c1),(r2,c2). A x1 x2 …… xA 插入或删除A行或列(DC-删除列, DR-删除行, IC-插入列, IR-插入行, 1 <= A <= 10)。 接下来q个查询,给你原始的单元格(r0, c0)输出原始的,

2017-05-09 17:35:28 334

翻译 【二进制、字符串】UVA - 213 Message Decoding

Problem Description 编写一个解码程序 对数字串进行解码 输入第一行是一个解码code code从左到右每个字符分别对应0,00,01,10,000,001,011,100,101,110,0000,0001,…,1101,1110,00000,……. 长度为len的字符编码有2^n-1个 而且恰好以二进制方式从0到2^n-2递增 而且字符编

2017-05-08 20:59:32 410

翻译 【DP】URAL 2018 The Debut Album

Problem Description 给你n个数,由1,2组成,连续1的个数不能超过a,连续2的个数不能超过b。Input The only line contains integers n, a, b (1 ≤ a, b ≤ 300; max( a, b) + 1 ≤ n ≤ 50 000).Output Output the number of different record

2017-05-04 20:29:23 258

空空如也

空空如也

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

TA关注的人

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