自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

原创 动态规划解题总览

来源于大佬,如有侵权,速删。

2018-02-27 14:29:15 129

原创 1730 数字三角形问题

Problem Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。  对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。Input输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。Output输出数据只...

2018-02-26 21:43:19 482

原创 STL容器入门

目录 1.vector(向量)2.string 点击这里,获得更多内容(string类)3.set点击打开链接,查看更多set用法(集合)4.map(映射)5.栈6.队列和优先队列C++ 清空队列(queue)的几种方法方法一方法二方法三7.deque双端队列容器 1.vector(向量)#include<iostream>#...

2018-02-24 20:21:06 220

原创 ACM算法基础工具

一#include<iostream>#include<algorithm>#include<string.h>using namespace std;int cmp(int a,int b)//从大到小{ return a>b;}void print(int *temp,int n)//打印数组{ for(int i=0...

2018-02-24 11:36:35 199

原创 (结构数组表示二叉树+堆+二叉排序树)笛卡尔树

笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。输入格式:输入首先给出正整数N(≤1000),为树中结点的个数。随后N行,每行给出一个结点的信...

2018-02-21 22:15:04 337

原创 (哈弗曼树,求权值)修理牧场

农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是L​i​​的总和。但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长...

2018-02-21 15:36:50 349

原创 (优先队列、运算符重载)Windows消息队列

 消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤),随后N行,每行给出一个指令——GE...

2018-02-20 17:06:23 242

原创 (并查集)朋友圈

 某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后...

2018-02-15 18:14:04 446

原创 (map或二叉搜索树)树种统计

 随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。输入格式:输入首先给出正整数N(≤),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。输...

2018-02-15 17:26:33 413

原创 (vector二维数组+并查集)L2-013. 红色警报

战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。输入格式:输入在第一行给出两个整数N(0 < N <=500)和M(<=5000),分别为城市个数(于是默认城市从0到N-1编号)和...

2018-02-10 18:00:02 537

原创 L1-044. 稳赢

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。输入格式:输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束...

2018-02-10 16:58:33 422

原创 L1-048. 矩阵A乘以B

给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。输入格式:输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100...

2018-02-10 16:38:05 366

原创 (并查集)L2-024. 部落

在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。输入格式:输入在第一行给出一个正整数N(<= 104),是已知小圈子的个数。随后N行,每行按下列格式给出一个小圈子里的人:K P[1] P[2] ... P[K]其中K...

2018-02-10 16:25:26 591

原创 (set+邻接矩阵)L2-023. 图着色问题

图着色问题是一个著名的NP完全问题。给定无向图 G = (V, E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。输入格式:输入在第一行给出3个整数V(0 < V <= 500)、E(>= 0)和K(0 < K <= V...

2018-02-10 16:11:48 805

原创 (set)L1-020. 帅到没朋友

当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(&lt;=100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(&lt;=1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数...

2018-02-08 19:01:50 954 1

原创 (模拟)L1-019. 谁先倒

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。输入格式:输入第一行先后给出甲、乙两人的酒量(不超过100的非负整数),以...

2018-02-08 17:40:04 900 1

原创 (vector二维数组或者直接用数组)L2-020. 功夫传人

一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒...

2018-02-08 15:39:38 346

原创 L1-039. 古风排版

中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。输入格式:输入在第一行给出一个正整数N(&lt;100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。输出格式:按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)输入样例:4This is a test case输出样例:asa Tst ihe tsi ce...

2018-02-08 12:03:17 374

原创 (vector、map+set)L2-019. 悄悄关注

新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。输入格式:输入首先在第一行给出某用户的关注列表,格式如下:人数N 用户1 用户2 …… 用户N其中N是不超过5000的正整数,每个“用户i”(i

2018-02-07 17:54:37 386

原创 (vector)L2-017. 人以群分

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。输入格式:输入第一行给出一个正整数N(2 &lt;= N &lt;= 105)。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字...

2018-02-07 15:57:50 280

原创 L1-035. 情人节

以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。输入格式:输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点“.”标志输入的结束,这个符号不算在点赞名单里。输出格式

2018-02-07 15:47:11 306

原创 (结构体+sort)L1-034. 点赞

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。输入格式:输入在第一行给出一个正整数N(1... FK”,其中 1i(i=1, ..., K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。输出

2018-02-07 15:35:30 296 1

原创 (set)L1-033. 出生年

以上是新浪微博中一奇葩贴:“我出生于1988年,直到25岁才遇到4个数字都不相同的年份。”也就是说,直到2013年才达到“4个数字都不相同”的要求。本题请你根据要求,自动填充“我出生于y年,直到x岁才遇到n个数字都不相同的年份”这句话。输入格式:输入在一行中给出出生年份y和目标年份中不同数字的个数n,其中y在[1, 3000]之间,n可以是2、或3、或4。注意不足4位的年份要在前面补零...

2018-02-07 15:29:12 540

原创 (sort对结构体自定义排序+vector)L2-009. 抢红包

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入格式:输入第一行给出一个正整数N(&lt;= 104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:K N1 P1 ... NK PK其中K(0 &lt;= K &lt;= 20)是发出去的红包个数,Ni是抢到红包的人...

2018-02-06 22:07:46 228

原创 (排序问题+vector)L2-015. 互评成绩

学生互评作业的简单规则是这样定的:每个人的作业会被k个同学评审,得到k个成绩。系统需要去掉一个最高分和一个最低分,将剩下的分数取平均,就得到这个学生的最后成绩。本题就要求你编写这个互评系统的算分模块。输入格式:输入第一行给出3个正整数N(3&lt; N &lt;= 104,学生总数)、k(3&lt;= k &lt;= 10,每份作业的评审数)、M(&lt;= 20,需要输出的学生数)。随后...

2018-02-06 19:15:18 286

原创 【建堆(边插入边调整)+路径】输出堆中的路径

将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[

2018-02-06 12:35:47 441

转载 C语言字符数组的初始化

1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。[cpp] view plain copychar str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};  即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数

2018-02-05 21:45:07 436

原创 (字符串输入问题)L1-032. Left-pad

L1-032. Left-pad时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其

2018-02-05 20:09:34 456

原创 (字符串读入问题+解析)L1-025. 正整数A+B

L1-025. 正整数A+B时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数

2018-02-05 16:49:37 802 1

原创 字符串对象及其操作

使用string类需要将其头文件包含到程序中,预处理命令为:#include string> //不能写为string.h一、字符串对象 1.字符串对象的定义和初始化定义和初始化字符串对象,与变量的方法类似。如果string对象没有初始化则一律为空字符串。需要注意的是C++字符串不需要NULL字符结尾。char S1[20]; //C风格字符串string st

2018-02-04 21:14:55 417

原创 字符数组及字符串的处理函数

下面是对字符方面知识点的梳理: char ch; ch=getchar(); //对字符的输入 putchar(ch); //对字符的输出

2018-02-04 12:55:19 249

原创 L1-028. 判断素数

L1-028. 判断素数时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越本题的目标很简单,就是判断一个给定的正整数是否素数。输入格式:输入在第一行给出一个正整数N(31的需要判断的正整

2018-02-03 19:44:16 569 1

原创 (除重、sort的使用)L1-027. 出租

L1-027. 出租时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越下面是新浪微博上曾经很火的一张图:一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组

2018-02-03 19:36:28 384 1

原创 (判断二叉树是完全二叉树)L3-010. 是否完全二叉搜索树

L3-010. 是否完全二叉搜索树时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的...

2018-02-03 19:27:03 215

原创 是否同一棵二叉搜索树

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤)和L,分别是每个序列插入元素的个数和需

2018-02-02 19:55:13 200

原创 (结构数组表示二叉树)树的同构

给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤),即该树的结点数(此时假设结点从0到N−1编...

2018-02-02 19:34:40 518

原创 (后序+中序建树)根据后序和中序遍历输出先序遍历

本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:7

2018-02-01 22:38:24 1342

原创 博弈论入门

 【算法设计与分析】三个博弈论算法分析:这篇文章详细介绍了巴什博弈,尼姆博弈,威佐夫博弈,感觉不错!hdu2147 kiki's game下面介绍此类题目的通用方法:P/N分析。P点:即必败点,某玩家位于该点,只要对方无误,则必败;N点:即必胜点,某玩家位于该点,只要自己无误,则必胜。三个定理:1.所有终结点都是必败点P;2.所有一步能走到必败点P的就是N点;3.通...

2018-02-01 14:18:10 473

空空如也

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

TA关注的人

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