自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蒟蒻柴犬首相的博客

蒟蒻柴犬首相的博客

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

原创 luoguP2782 友好城市 题解

题目题目描述已知一群猴子的数量再a~b之间(a<=b),同时又知每次m只猴子出圈(注意不是隔!!)。已知,求所有出圈可能中当猴王可能性最大的猴子的当大王的次数以及编号,若有多只,输出所有的猴子编号,中间用空格隔开输入输出格式输入格式: 第一行一个数a,b,m如题。输出格式: 两行,第一行为在a~b之间隔m个出圈可能当大王的编号的总数的最大值若干个数,即猴子的编号。输入输出样例输入样例#1: 1

2017-09-27 19:47:31 431

原创 luoguP2066 机器分配 题解

题目题目描述总公司拥有高效设备M台,准备分给下属的N个分公司。各分公司若获得这些设备,可以为国家提供一定的盈利。问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值。其中M≤15,N≤10。分配原则:每个公司有权获得任意数目的设备,但总台数不超过设备数M。输入输出格式输入格式: 第一行有两个数,第一个数是分公司数N,第二个数是设备台数M。接下来是一个N*M的矩阵,表明了第 I个公司分配

2017-09-27 18:22:35 418

转载 C++宏定义详解

原文地址 传送门一、#define的基本用法#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #de

2017-09-27 14:05:31 193

原创 luoguP2196 挖地雷 题解

题目题目背景NOIp1996提高组第三题题目描述在一个地图上有N个地窖(N<=20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使某人能挖到最多的地雷。输入输出格式输入格式: 输入文件mine.in有若干行。第1行只有一个数字

2017-09-27 13:31:33 966

原创 luoguP1048 采药 题解

题目题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,

2017-09-27 12:55:20 496

原创 luoguP1020 导弹拦截 题解

题目题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于50000的正整数),计算这套系统最多能拦截多少导弹,如果

2017-09-27 12:33:37 387

原创 luoguP1216 数字三角形 题解

题目题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大输入输出格式输入格式: 第一个行包含 R(1<=

2017-09-27 10:57:55 353

原创 [模版]线段树

线段树线段树是个啥呀线段树是个毛???在前面我只能告诉你又长又骚。线段树的代码,板子题都有将近百行,稍微有点思想的题目估计就要上一百五十行了。然后差错的时候哦查到你心累,这就是线段树……算了还是来点正能量的吧。线段树有着不可比拟的有点,它是可以快捷地对一段数据进行在线维护、查询的数据结构,查询和维护的时间复杂度都是(log2 n)这就很舒服了。基本原理线段树是一种二叉搜索树,它将一个区间放在根结点

2017-09-24 20:27:06 1249

原创 luoguP2024 食物链 题解

题目题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是“1 X Y”,表示 X 和 Y 是同类。第二种说法是“2 X Y”,表示 X 吃 Y 。此人对 N 个动物

2017-09-23 12:54:00 424

原创 luogu1613 跑路 题解

题目题目描述小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为

2017-09-22 20:36:58 279 2

原创 luoguP1256 显示图像 题解

题目题目描述古老的显示屏是由N×M个像素(Pixel)点组成的。一个像素点的位置是根据所在行数和列数决定的。例如P(2,1)表示第2行第1列的像素点。那时候,屏幕只能显示黑与白两种颜色,人们用二进制0和1来表示。0表示黑色,1表示白色。当计算机发出一个指令:P(x,y)=1,则屏幕上的第x行第y列的阴极射线管就开始工作,使该像素点显示白色,若P(x,y)=0,则对应位置的阴极射线管不工作,像素点保持

2017-09-20 21:10:57 555 1

转载 CSDN博客积分规则和获取积分方法

转自:原文地址 博客积分是衡量博客水平的重要标准,博客的排名也将按照积分排列。积分规则具体如下: 1、每发布一篇原创或者翻译文章:可获得10分 2、每发布一篇转载文章:可获得2分 3、博主的文章每被评论一次:可获得1分 4、每发表一次评论:可获得1分(自己给自己评论、博主回复别人对自己博文的评论不获得积分) 5、每篇博文阅读次数每超过100次:可获得1分,阅读加分最高加到100

2017-09-19 12:23:35 281

原创 luoguP1469 找筷子 题解 (异或)

题目题目描述经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题,筷子!CX小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是CX找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双

2017-09-18 12:42:21 1080

原创 【汇总,不定期更新】c++实用的STL

不定长数组vector定义不定长数组就是可以在程序中随意更改数组长度的一种stl。 (有空再更新)

2017-09-17 21:27:48 263

原创 【汇总,不定期更新】杂知识

流加速我们知道,cin和cout的效率比scanf和printf慢多少。其实这个cin和cout流输入输出也能一定程度地加速的,当你scanf突然忘记的时候可以委屈的用一下cin。 方法:关闭和stdio的同步。 代码实现:ios::sync_with_stdio(false);

2017-09-17 21:25:13 310

转载 c/c++常用头文件及函数汇总

本文乃转载也 原文地址: 转自THISISPAN大佬的blog 感谢大佬的汇总!C/C++头文件一览C#include <assert.h>    //设定插入点#include <ctype.h>     //字符处理#include <errno.h>     //定义错误码#include <float.h>     //浮点数处理#include <iso646.h>

2017-09-17 19:19:18 1047

原创 luoguP3367 并查集 题解

题目题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入输出格式输入格式: 第一行包含两个整数N、M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi、Xi、Yi当Zi=1时,将Xi与Yi所在的集合合并当Zi=2时,输出Xi与Yi是否在同一集合内,是的话输出Y;否则话输出N输出格式: 如上,对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y或者N输入输出样例

2017-09-17 13:18:28 329 1

原创 luoguP1551 亲戚 题解

题目题目背景若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入输出格式输入格式: 第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,

2017-09-17 13:05:54 349 2

原创 [模板]最小生成树 kruskal算法

题目题目描述如题,给出一个无向图,求出最小生成树输入输出格式输入格式: 第一行包含两个整数N、M,表示该图共有N个结点和M条无向边。(N<=5000,M<=200000)接下来M行每行包含三个整数Xi、Yi、Zi,表示有一条长度为Zi的无向边连接结点Xi、Yi输出格式: 输出包含一个数,即最小生成树的各边的长度之和输入输出样例输入样例#1: 4 5 1 2 2 1 3 2 1 4 3

2017-09-16 18:22:45 280

原创 [模版]并查集

并查集是什么概念并查集是个啥呀?并查集,并,查,集。合并,查找,集合。就是这样,并查集就是可以合并查找两种操作的集合。从树的角度看,并查集就是个森林,每一棵树代表一个集合。我们要干的事情就是对于一个森林集合进行合并、或者查找。如何实现我们如何实现判断两个元素是否在一个集合里面呢?我们知道,在同一棵树里面的所有点,都有一个共同的祖先——根结点。ok,我们只要求出两个元素的根结点, 就可以判断这两个点是

2017-09-16 13:35:45 369 2

原创 luoguP2752 街道赛跑 题解

题目题目描述图一表示一次街道赛跑的跑道。可以看出有一些路口(用 0 到 N 的整数标号),和连接这些路口的箭头。路口 0 是跑道的起点,路口 N 是跑道的终点。箭头表示单行道。运动员们可以顺着街道从一个路口移动到另一个路口(只能按照箭头所指的方向)。当运动员处于路口位置时,他可以选择任意一条由这个路口引出的街道。图一:有 10 个路口的街道一个良好的跑道具有如下几个特点:每一个路口都可以由起点到达。

2017-09-15 18:47:20 357

原创 关于luoguP2835 刻录光盘 的反思

MDZZ这次打脸打的舒服 事情是这样发展的 学习了图论算法以后,我上luogu做了刻录光盘这一道题目,这道题目如下题目题目描述在JSOI2005夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每个人都能拿到刻录上资料的光盘,又来不及去买了,怎么办呢?!组委会把这个难题交给了L

2017-09-13 17:42:29 304 1

原创 luoguP2731 骑马修栅栏 题解

题目题目背景Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。题目描述John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到500标号(虽然

2017-09-13 12:55:41 282

原创 string类型的常用操作

字符串string类型常用函数made by柴犬首相一、成员函数 1、 什么是成员函数 成员函数就是某种类型特有的函数 2、 成员函数的调用 成员函数调用的一般格式是: 变量名.函数名(); 二、string字符串类型的常用函数(一本通第五版没有此内容,校本教材此内容不全) 前提:以下所有函数的使用前提是已经定义了 string s1,s2,s;这三个字符串,int a;这个整型变

2017-09-12 16:47:27 815

原创 luoguP1028 数的计算 题解

题目题目描述我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止.输入输出格式输入格式: 一个自然数n(n<=1000)输出格式: 一个整数,表示具有该性质数的个数。输入输出样例输入样

2017-09-12 15:43:36 402

原创 luoguP1781 宇宙总统 题解

这道题目不需要高精度。我觉得我的代码比较清晰,容易让入门新手弄懂。核心思想就是用字符串读入超过 long long 范围的整数排序的时候不能用sort函数,因为字符串的比较是一位位比较过去的,和整数的比较不一样,所以我们需要自己定义一个字符串的比较标准,就是这边的bool函数。然后因为n的范围很小,以便读代码,我采用了选择排序。会冒泡的可以自己尝试一下哦。注意在交换的时候,记住要把序号和字符串同时交

2017-09-12 15:29:23 850 1

原创 luoguP1091 合唱队形 题解

纠正繁琐的方法这道题目其实不需要对于每一个I都计算下左右两边最长的下降序列之和的。我感觉我的方法很清晰明了,也少了很多重复搜索的过程。我的方法是:类似于打表一样的先求出1~n每一个元素的最长下降序列,再求出1~n每一个元素的最长上升序列;分别存在两个数组里面(b数组和c数组),最后定义一个整型变量ans来枚举最大的b[I]+c[I],也就是两边最长序列之和最大,就可以保证留下的人数最大,也就可以保证

2017-09-12 15:26:02 277 1

原创 图论day2

(此博客是2017/9/12学习图论day2当天边学习边写,排版可能不整齐)迪杰斯特拉前一天学习的迪杰斯特拉算法 迪杰斯特拉是一种贪心在图论的一种应用。迪杰斯特拉呢,就是把已知图的结点分为两个集合,A和B,先把所有的结点归到集合B中,把源点先提取到A集合中,然后每次从集合B中选择出一个到源点路径最短的点k,把它加到集合A中,用k去更新集合B中的点的最短路径(三角形迭代传递闭包)。三角形迭代,一

2017-09-12 09:24:43 226

原创 图论day1

说实话,今天学习图论的时候状态不是特别的好,上午马马虎虎过得去,下午简直听不进去。上午上午主要是学习了图的相关基本概念和知识,外加图的dfs遍历和图的bfs遍历。例题:luoguP3916图的遍历。 题目描述给出NN个点,MM条边的有向图,对于每个点vv,求A(v)A(v)表示从点vv出发,能到达的编号最大的点。输入输出格式输入格式: 第1 行,2 个整数N,MN,M。接下来MM行,每行2个整数

2017-09-11 20:04:36 349

原创 重返oi第五十四天有感

时间过得太**快了。即使初三的普及组oi成绩真的是不堪入目,高一开学后还是因为“热爱”,又踏上了提高组征程,到现在共计五十四天。开学的时候,我和很多同学一样,都在四门主课竞赛和OI之间做过让人**的思想斗争…… 什么时候竟然忘记了要选择其他竞赛的想法。 五十多天,才发现我已经离不开OI,在题库上coding的快乐只有OIer之间才能互相传达,花了很长时间debug一个长程序才发现是一个小错误的那

2017-09-04 12:47:50 476 7

空空如也

空空如也

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

TA关注的人

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