洛谷P2320鬼谷子的钱袋.】的更多相关文章

P2320 06湖南 鬼谷子的钱袋 171通过 480提交 题目提供者xmyzwls 标签各省省选 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 题目有误 数据需要特判 评测系统太神了 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 3 输出样例#1: 2 1 2分析:首先要把题目读懂,即可以用n个1,1个2~m的数,通过加法组合成1~m的所有整数,当然,这所有的数字加起来要等于m,似乎有点复杂,该怎么处理呢? 显然,不好直接处理本题,那么先假设一下m=1…
题目 这个题考察二进制分解. \(Code\) #include <bits/stdc++.h> #pragma GCC optimize(2) #pragma GCC optimize(3) using namespace std; long long n, data[100010], cnt; int main() { scanf("%d", &n); while (n) { data[++cnt] = (n + 1) / 2; n /= 2; } sort(d…
这道题很神奇 我们举一个例子,m=12 那么我们可以把它分成两部分,L和R: (1,2,,6)(7,8,,12) 我们可以发现R中的数都可以由12/2和左边的数组合得到 那么我们对L再分------ 同理,奇数时将,m/2变为m/2+1即可 #include<cstdio> #include<cstring> using namespace std; ,f[]; int main(){ scanf("%d",&m); while (m){ f[++cnt…
https://www.luogu.org/problem/show?pid=2320#sub 题目描述全是图 数学思维,分治思想 假设总数为n 从n/2+1到n的数都可以用1~n的数+n/2表示出来 1~n/2的数也可以这样拆分成两份. 一路拆下去即可. 例如n=12时: {1 2 3 4 5 6}+6={7,8,9,10,11,12} {1,2,3}+3={4,5,6} {1,2}+3={4,5} {1}+2={3} 所以只需要1 2 3 6 /*by SilverN*/ #include<…
题目传送门 解题思路: 对于每一个数i,我们都可以用i/2来表示,而对于i/2我们可以用i/4表示......(以此类推) 举个例子,对于10,我们可以用5 + 5来表示,而5可以用 3 + 2表示,2 可以用1 + 1表示,所以对于10,我们只需要5,3,2,1即可. AC代码: #include<cstdio> #include<iostream> using namespace std; ],k; int main() { scanf("%d",&…
------------恢复内容开始------------ 描述:https://www.luogu.com.cn/problem/P2320 m个金币,装进一些钱袋.钱袋中大于1的钱互不相同. 问最少需要几个钱袋,能使任意小于m的金币数表示出来. 比如一个数是20,那么我们如何表示从1到20所有的数呢? 假设我们能表示1~10的金币数,是不是只要再来一个金币数为10的袋子,就能表示11~20的金币 那我们能表示1~5,再来一个金币为5的袋子就行了. 以此类推. 那为什么要往中间分开呢? 我我…
题目链接 题意概述:把正整数n分为m个正整数,m个正整数中不允许出现复数个非1的正整数,保证所有小于n的正整数都可以用一部分正整数的和表示,并且使m尽量小. 这道题不知道为啥bzoj上没有要求输出方案,导致我把bzoj的程序粘到洛谷上瞬间全wa. 思想还是非常简单的,第一个钱袋装n/2个金币,第二个装n/2/2个金币,第三个…… 这样可以用和的形式表示任意小于n的正整数. 显然这样是最优解,而且基于不断除2得出的答案个数为log2n. #include<cstring> #include<…
洛谷2320 06湖南 鬼谷子的钱袋 来源 题目描述 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极大的兴趣,那就是无字天书.但是,他的行程安 排得很满,他他已经买好了去邯郸的长途马车标,不巧的是出发时间是在拍卖会快要结束的时候.于是,他决定事先做好准备,将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封…
传送门(洛谷) 传送门(bzoj) 题目 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政.有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了他极大的兴趣,那就是无字天书.但是,他的行程安排得很满,他他已经买好了去邯郸的长途马车标,不巧的是出发时间是在拍卖会快要结束的时候.于是,他决定事先做好准备,将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组…
P2320 [HNOI2006]鬼谷子的钱袋 挺有趣的一道题,之所以发这篇题解是因为感觉思路的更清晰一点qwq 此题主要有两种方法: 一.分治思想 例如要凑出1~20,假如我们已经能凑出1~10了,那么只要再有一个10元的钱袋,便可以凑出11~20 同理,再要凑出1~10,则需要凑出1~5+一个5元的钱袋 就这样不断分治,那么每次n/2都是一定会选的数 如果n是奇数,如21,那么只要凑出1~10加上一个11元的钱袋即可 #include<iostream> using namespace st…