2022寒假集训day2】的更多相关文章

day1:学习seach和回溯,初步了解. day2:深度优化搜索 T1 洛谷P157:https://www.luogu.com.cn/problem/P1157 题目描述 排列与组合是常用的数学方法,其中组合就是从nnn个元素中抽出rrr个元素(不分顺序且r≤n)r \le n)r≤n),我们可以简单地将nnn个元素理解为自然数1,2,-,n1,2,-,n1,2,-,n,从中任取rrr个数. 现要求你输出所有组合. 例如n=5,r=3n=5,r=3n=5,r=3,所有组合为: 123,124…
Day2 ---二分 这里直接给出模板 两种对应不同的情况 可以借助数轴理解 int bsearch_1(int l, int r) { while (l < r) { ; if (check(mid)) r = mid; ; } return l; } int bsearch_2(int l, int r) { while (l < r) { >> ; if (check(mid)) l = mid; ; } return l; } 补充:有时候可以借助STL的std::lowe…
垃圾陷阱 (well) 卡门--农夫约翰极其珍视的一条Holsteins奶牛--已经落了到"垃圾井"中."垃圾井"是农夫们扔垃圾的地方,它的深度为D (2 <= D <= 100)英尺. 卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了.另外,卡门可以通过吃一些垃圾来维持自己的生命. 每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间. 假设卡门预先知道了每个垃圾扔下的时间t(0小于t小于等于1000),以及每个垃圾堆放的高度h(1&l…
花店橱窗布置(FLOWER) 提交文件名:flower 问题描述: 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识.如果I < J,则花束I必须放在花束J左边的花瓶中.例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有花束在放入花瓶时必须保持其标识数的顺序,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中.如果…
抢金块 输入文件:gold.in 输出文件:gold.out 问题描述: 地面上有一些格子,每个格子上面都有金块,但不同格子上的金块有不同的价值,你一次可以跳S至T步 .如果S=2,T=4.你就可以跳2步.3步或4步,告诉你这些后,你从第一个格子起跳,必须跳到最后一个格子上,请你输出最多可以获得的金块的总价值. 输入格式: 第一行是格子个数, 第二行是S和T ,保证T大于S. 第三行是每个格子上的金块价值..第一个为第一个格子上的价值,默认从第一个格子起跳,必须跳到最后一个格子上,也就是说第一个…
回文字(palin) 问题描述: 如果一个单词从前和从后读都是一样的,则称为回文字.如果一个单词不是回文字,则可以把它拆分成若干个回文字.编程求一个给定的字母序列,最多要分割成几部分,使每一部分都回文字. 输入格式: 输入文件有且只有一行,包含一个字符串.字符串由小写英文字母组成(a-z),长度不超过100. 输出格式: 输出文件只一行,为最少的回文字个数. 输入 样例1:anaban 样例2:abaccbcb 样例3:anavolimilana 输出 样例1:2 样例2:3 样例3:5 [解题…
维修栅栏 问题描述: 小z最近当上了农场主!不过,还没有来得及庆祝,一件棘手的问题就摆在了小z的面前.农场的栅栏,由于年久失修,出现了多处破损.栅栏是由n块木板组成的,每块木板可能已经损坏也可能没有损坏.小z知道,维修连续m个木板(这m个木板不一定都是损坏的)的费用是sqrt(m).可是,怎样设计方案才能使总费用最低呢?小z想请你帮帮忙. 输入格式: 输入文件的第一行包含一个整数n,表示栅栏的长度. 第二行包含n个由空格分开的整数(长整型范围内).如果第i个数字是0,则表示第i块木板已经损坏,否…
又上锁妖塔 (tower.in/tower.out) [题目描述] 小D在X星买完了想要的东西,在飞往下一个目的地的途中,正无聊的他转头看了看身边的小A,发现小A正在玩<仙剑>,可是小A很奇怪,他一直在锁妖塔的周围转来转去,可是就是不进去,于是小D问他:"你在干什么?怎么不上去?"小A说:"我在想怎么从锁妖塔外面爬上去"(倒-) 锁妖塔的建造很特别,塔总共有n层,但是高度却不相同,这造成了小A爬过每层的时间也不同.小A会用仙术,每用一次可以让他向上跳一层…
钱币兑换(exchange) 问题描述: Dave偶然获得了未来几天的美元(dollars)与马克(marks)之间的兑换率.例如Dave开始有100marks,请编写个程序帮助Dave找出最好的买卖marks或dollars的方案,使Dave最后一天有最多的marks. 输入格式: 输入文件的第一行有个自然数N, 1 ≤ N ≤ 100,表示Dave知道未来兑换率的天数. 下面N行每行有两个被空格分隔的自然数B和S, 100 ≤ B ≤ S ≤ 1000.第(i+1)行表示的和是第 i天的兑换…
挖地雷(Mine) 在一个地图上有N 个地窖(N<=200),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径,并规定路径都是单向的,且从编号小的地窖通向编号大的地窖.某人可以从任一处开始挖地雷,然后沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束.设计一个挖地雷的方案,使他能挖到最多的地雷. [输入格式] N {地窖的个数} W1,W2,--WN {每个地窖中的地雷数} X1,Y1 {表示从X1可到Y1,保证xi小于yi} X2,Y2 -- 0 ,0 {表示输入结束…