YCOJ
文章平均质量分 89
修电缆的建筑工
以山为舷,以海为泉
展开
-
01背包
01背包Description一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn,求旅行者能获得最大总价值。Input第一行:两个整数,M(背包容量,M≤200)和N(物品数量,N≤30);第2..N+1行:每行二个整数Wi,Ci,表示每个物品的重量和价值。Output仅一行,...原创 2018-10-03 16:09:46 · 204 阅读 · 0 评论 -
c++入门
本来很不想写这个的,但是又不想自己的博客有头没尾,所以就写一点,,,c++最基础的数据类型有整数类型(int)、实数类型(float)、字符类型(char)和布尔类型(bool)。在定义的时候只需要写上“变量类型 变量名”就可以了。说道变量又不得不谈谈精度的问题。int和float都是有精度之分的。单精度的整数变量类型就叫做int,双精度的叫做long long(顾名思义, 就是很长的数的...原创 2018-07-18 12:27:18 · 1815 阅读 · 0 评论 -
条件分支
这篇文章将总结一下c++的条件分支。在这之前,我先总结一下c++的判断符。c++判断符有:>, <, ==, >=, <=, !=。其中,==的用处是判断符号两边是否相等,>=用来判断符号左边是否大于等于右边,<=用来判断符号左边是否小于等于右边,!=用来判断两边是否不等。这里要特别注意,判断相等是用==而不是=,一个等号是用来赋值的。这里你可以在编译器...原创 2018-07-18 12:27:28 · 1786 阅读 · 0 评论 -
循环
循环,即重复执行命令。c++中常见的循环有三种:for循环、while循环和do-while循环。基本的结构如下:for循环:for(变量;条件;命令){ 语句;}while循环:while(条件){ 语句;}do-while循环:do{ 语句;}while(条件);下面给出一个例子:int sum = 0;for(int i...原创 2018-07-18 13:31:20 · 792 阅读 · 0 评论 -
字符串
本篇将介绍一种新的变量类型:字符串。字符串与字符数组不同的地方就在于:字符数组的大小在声明时就已经定了下来;而字符串的大小是可以改变的,当你往字符串里面添加元素时,字符串的大小也会相应地改变。下面介绍对于字符串的操作(转载自YCOJ):s.size(); // 得到字符串长度s.find(); // 查找字符或子串所在位置,若存在子串则返回子串开头字符下标,否则返回-1 s...原创 2018-07-18 15:57:17 · 1962 阅读 · 1 评论 -
二分查找
二分是一种十分高效的工具,使用二分可以节省大量的时间。我们首先通过一个小练习来初步熟悉一下二分(转自YCOJ):请问最后将输出什么呢? 答案是4343(两个43)。通过这些,相信读者已经对二分有了初步的认识。接下来做一些二分的习题:查找Description给出一个有 n 个元素的数列 a 和两个整数 k 和 s,其中数列 a 的元素是按照升序排列的。请你在数列...原创 2018-07-18 19:36:12 · 614 阅读 · 1 评论 -
函数与递归
说到函数,相信大家对此并不陌生。在c++中有许多函数,比如abs()、fabs()、sort()等等。我们自己也可以写函数。基本结构如下:函数类型 函数名(参数类型 参数名){ 语句; return 与函数类型相同的变量的值;}这里的函数类型可以是int、float、char、bool、string等等,对应的返回值类型与函数的类型应该相同。如果函数不需要返回值,则函数...原创 2018-07-19 00:06:19 · 378 阅读 · 0 评论 -
计蒜客:墙壁涂色
墙壁涂色Description蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。他买了 3 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 nn 个部分,蒜头希望每个相邻的部分颜色不能相同。他想知道一共有多少种给房间上色的方案。例如,当 n=5 时,下面就是一种合法方案。蓝|红|黄|红|黄由于墙壁是一个环形,所以下面这个方案就是不合法的。蓝|红|黄|红|蓝Inp...原创 2018-07-21 00:08:33 · 538 阅读 · 0 评论 -
计蒜客:杨辉三角
Description杨辉三角是二项式系数在三角形中的一种几何排列。它的每个数等于它上方两数之和,每行数字左右对称,由 1 开始逐渐变大。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1请求出杨辉三角的第 ...原创 2018-07-21 12:58:27 · 248 阅读 · 0 评论 -
计蒜客:逃生
逃生Description小信在玩一款逃生的游戏。在一个 n×m 的矩形地图上,小信位于其中一个点。地图上每个格子有加血的药剂,和掉血的火焰,药剂的药效不同,火焰的大小也不同,每个格子上有一个数字,如果格子上的数字是正数说明是一个药剂代表增加的生命值,如果是负数说明是火焰代表失去的生命值。小信初始化有 v 点血量,他的血量上限是 c,任何时刻他的生命值都不能大于血量上限,如果血量为 0...原创 2018-07-23 18:51:34 · 322 阅读 · 1 评论 -
结构体和排序
结构体,即将一个或者多个变量打包起来的整体。定义结构体的格式如下:struct 结构体名称{ 变量类型 变量名;}结构体变量名;或者:struct 结构体名称{ 变量类型 变量名;}结构体名称 结构体变量名;例如,一个学生的姓名、年龄、身高可以这样包装:struct node{ string name; int age; fl...原创 2018-07-21 08:11:57 · 3142 阅读 · 0 评论 -
采药
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是...原创 2018-07-27 19:04:24 · 379 阅读 · 0 评论 -
洛谷:P1434【滑雪】
题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 ...原创 2018-10-09 21:58:40 · 515 阅读 · 0 评论