
一些OJ题
scwMason
一个怀揣梦想的有志青年
展开
-
染色
题目描述由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 10 0 0 0 0 00 0 1 1 1 10 1 1 2 ...原创 2018-05-27 22:15:38 · 478 阅读 · 0 评论 -
装箱问题---dp||递归
题目描述有一个箱子容量为VV(正整数,0 \le V \le 200000≤V≤20000),同时有nn个物品(0<n \le 300<n≤30,每个物品有一个体积(正整数)。要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入输出格式输入格式: 11个整数,表示箱子容量11个整数,表示有nn个物品接下来nn行,分别表示这nn个物品的各自体...原创 2019-02-18 21:58:38 · 694 阅读 · 1 评论 -
疯狂采药(完全背包)
题目背景此题为NOIP2005普及组第三题的疯狂版。此题为纪念LiYuxiang而生。题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。我会给你一...原创 2019-02-19 00:33:29 · 583 阅读 · 0 评论 -
数列分段---二分+贪心
题目描述对于给定的一个长度为N的正整数数列A-iA−i,现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列4 2 4 5 1要分成3段将其如下分段:[4 2][4 5][1]第一段和为6,第2段和为9,第3段和为1,和最大值为9。将其如下分段:[4][2 4][5 1]第一段和为4,第2段和为6,第3段和为6,和最大值为...原创 2019-02-13 21:08:42 · 5204 阅读 · 0 评论 -
合唱队形----dp
题目描述NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2,…,K,他们的身高分别为T_1,T_2,…,T_KT1,T2,…,TK, 则他们的身高满足T_1<...<T_i>T_{i+1}>…>T_K(1 \le i \le K)...原创 2019-02-20 20:43:17 · 2465 阅读 · 0 评论 -
生命之树----树状dp
原题:在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。这...原创 2019-03-02 13:28:27 · 508 阅读 · 0 评论 -
包子凑数----欧几里得+dp
题目描述:小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然...转载 2019-03-16 10:04:44 · 428 阅读 · 0 评论 -
火星人 --简单的数学题
题目简单来说就是五根手指代表1 2 3 4 5,然后按照从小到大全排列,然后根据给出的第二个数据计算出整个全排列中第几大的数那么我们首先要解决的是:从小到大全排列的顺序问题,这里我们可以用两种方法:1.手写代码2.STL函数手写代码主要掌握下面的逻辑1.首先从最尾端开始往前寻找两个相邻元素,令第一元素为*i,第二元素为*ii,且满足*i<*ii。2...原创 2019-07-30 13:44:11 · 667 阅读 · 0 评论 -
P1064 金明的预算方案
输入1000 5800 2 0400 5 1300 5 1400 3 0500 2 0输出2200解析 这道题是一道依赖背包问题,所谓依背包就是i依赖于j,表示若选物品i,则必须选物品j。为了简化起见,我们先设没有某个物品既依赖于别的物品,又被别的物品所依赖;另外,没有某件物品同时依赖多件物品。 题目中是附件依赖与主件,并且附件...原创 2019-08-08 22:51:08 · 195 阅读 · 0 评论 -
数论--约数研究
题目大意也就是计算因数的个数,f(6)表示从1~6所有值约数之和。那么循环一下n,n/i表示因数有i的数的个数,那么以4为例:因数为1:4个因数为2:2个因数为3:1个因数为4:1个所以总和是4+2+1+1=8个...原创 2019-08-19 16:14:59 · 291 阅读 · 0 评论 -
数论--负进制转换
首先需要明白正进制的转换,比如7转换成二进制,那么7/2=3余1,3/2=1余1,1/2=1余0,所以7的二进制就是倒着写余数0111那么如果-7转换成-2进制呢,因为-7/-2=3余-1,所以我们这个-1没法处理,所以我们需要一个看起来很简单但是想不到的转换公式:(商+1)*除数+(余数-除数)=商*除数+除数+余数-除数=商*除数+余数=被除数也就是我们当-7/-2=...原创 2019-08-19 19:45:53 · 515 阅读 · 0 评论 -
奇怪的电梯----bfs搜索
题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1 \le i \le N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3, 3 ,1 ,2 ,5代表了K_i(K_1=3,K...原创 2019-02-13 14:31:55 · 658 阅读 · 0 评论 -
递归 || dp------数的划分
题目描述将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。1,1,5 1,1,5;1,5,1 1,5,1;5,1,1 5,1,1.问有多少种不同的分法。输入输出格式输入格式: n,kn,k (6<n \le 2006<n≤200,2 \le k \le 6...原创 2019-02-12 14:30:50 · 276 阅读 · 0 评论 -
广搜题(较复杂)
算法核心:void bfs(int x, int y){ node p; p.x = x; p.y = y; p.step= 0; if (dd == 'E') p.dir = 1; if (dd == 'W') p.dir = 2; if (dd == 'S') p.dir = 3; if (dd == 'N') p.dir = 4; stt.push(p);...原创 2018-06-10 21:19:02 · 303 阅读 · 0 评论 -
归并排序 习题
P1309 瑞士轮4.4K通过17.9K提交题目提供者CCF_NOI评测方式云端评测标签NOIp普及组2011高性能难度普及/提高-时空限制1000ms / 128MB 提交 题解 提示:收藏到任务计划后,可在首页查看。最新讨论显示推荐的相关题目显示题目背景在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高...原创 2018-07-05 22:08:56 · 1687 阅读 · 0 评论 -
记忆化搜索练习题
题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 ...原创 2018-08-02 14:51:16 · 725 阅读 · 0 评论 -
丢瓶盖---二分
题目描述陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢?输入输出格式输入格式: 第一行,两个整数,A,B。(B<=A<=100000)第二行,A个整数,分别为这A个瓶盖坐标。 输出格式: 仅一个整数,为所求答案。...原创 2019-02-14 16:42:38 · 496 阅读 · 2 评论 -
跳石头---二分
题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 MM 块岩石(...原创 2019-02-15 17:03:59 · 360 阅读 · 0 评论 -
字符串处理-----string拼接技巧
这题可以利用sort函数默认字符串的字典序来实现:#include<iostream>#include<algorithm>#include<string>using namespace std;string arr[21];bool cmp(string a, string b){ return a + b > b + a;}...原创 2019-02-08 13:46:42 · 253 阅读 · 0 评论 -
最大子段和----dp
题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。输入输出格式输入格式:第一行是一个正整数NN,表示了序列的长度。第二行包含NN个绝对值不大于1000010000的整数A_iAi,描述了这段序列。输出格式:一个整数,为最大的子段和是多少。子段的最小长度为11。输入输出样例输入样例#1:复制72 -4 3 -1 2 ...原创 2019-02-16 14:46:28 · 1524 阅读 · 2 评论 -
队列安排---二叉树
题目描述一个学校里老师要将班上N个同学排成一列,同学被编号为1\sim N1∼N,他采取如下的方法: 先将1号同学安排进队列,这时队列中只有他一个人; 2-N2−N号同学依次入列,编号为i的同学入列方式为:老师指定编号为i的同学站在编号为1∼(i−1)中某位同学(即之前已经入列的同学)的左边或右边; 从队列中去掉M(M<N)个同学,其他同学位置顺序不变。 在...原创 2019-02-16 20:00:35 · 503 阅读 · 0 评论 -
逆序对的两种解法
题目描述猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。Update:数据已加强。输入输出格式...原创 2019-02-10 23:43:21 · 920 阅读 · 1 评论 -
点菜---(01背包)
(很锻炼思想的一题)题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩MM元(M \le 10000)(M≤10000)。餐馆虽低端,但是菜品种类不少,有NN种(N \le 100)(N≤100),第ii种卖a_iai元(a_i \le 1000)(ai≤1000)。由于是很低端的餐馆,所以每种菜只有一份。小A奉行“不把钱吃光不罢休”,所以他点单一定刚好吧uim身上...原创 2019-02-17 20:09:52 · 592 阅读 · 0 评论 -
数论---最大公约数最小公倍数
Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现在,刚刚放学回家的Hankson 正在思考一个有趣的问题。今天在课堂上,老师讲解了如何求两个正整数c1 和c2 的最大公约数和最小公倍数。现在Hankson 认为自己已经熟练地掌握了这些知识,他开始思考一个“求公约数”和“求公倍数”之类问题的“逆问题”,这个问题是这样的:已知正整数a0,a1,...原创 2019-08-16 17:09:04 · 369 阅读 · 0 评论