题解 P2431 【正妹吃月饼】】的更多相关文章

P2431 正妹吃月饼 题目描述 今天是中秋节.\(uim\)带来了一堆大小不同且味道各异的月饼. 这些月饼的质量分别是\(1g\),\(2g\),\(4g\),\(8g\),\(16g\)....后面一个是前面的2倍.每种只有一个. uim让正妹随便吃. 正妹希望尝试尽可能多的口味,所以会吃尽可能多数量的月饼(不是重量).而且她的确有些饿了,至少总共要吃掉\(A\) \(g\)的月饼才能满足. 然而正妹怕长胖,所以吃月饼不能合计超过\(B\) \(g\). 她希望知道自己最多能吃多少个月饼 输…
二进制前置技能:https://www.cnblogs.com/AKMer/p/9698694.html 题目传送门:https://www.luogu.org/problemnew/show/P2431 表示比起正妹更喜欢软妹 我们把\(a\)和\(b\)全部转换成二进制,就会得到两个长度为\(62\)的二进制串.这两个二进制串的第\(i\)位可能为\(0\)或\(1\),分别表示\(a\)和\(b\)的二进制表示下的第\(i\)位(从\(0\)开始). 对于\(a,b\)相等,只有一种情况,…
假如做这道题想着用如下朴实的模拟,那肯定要WA至少4个点. #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int main() { ll a, b, sum = , ans = ; cin >> a >> b; while(sum <= b) { ans++; sum = sum << | ; } cout <<…
题目大意 求一个正整数集合\(K\),使得\(\sum_{k\in K}2^k\in[A,B]\),且\(|K|\)最大.\(A,B\)大小在long long范围内. 思路 \(\sum_{k\in K}2^k\)?这不就是一个二进制数,对于该数上的每一个数位\(k\),若\(k\in K\),则该数位上的数为1,否则为0么? 所以原题就变成了:求一个整数\(x\),使得\(x\in[A,B]\),且其用二进制表示的1的个数最多. 怎么求这个\(x\)呢? 若\(A,B\)二进制最高位数不同,…
中秋节快来了.送大家点福利: HTML5-玉兔吃月饼游戏 效果图: 代码下载:点击这里!!…
作为T1,当然是越水越好啦qwq 显然经目测可得,那个所谓的质量评级根本就没卵用,可以直接\(W_i = W_i^{V_i}\)累积到利润里面. 这样,本问题显然是一个"子集和"问题的模板.此类问题一般使用暴力DFS或DP解决.对于本题,由于体积过大,使用DFS.(听说DP也可以解?算了出题人太懒不写了qwq) 不难发现,此题爆搜的时间复杂度为\(O(2^n)\),可以拿20分. 对于更大的数据,考虑以双向DFS的形式,降低复杂度. DFS框架:把矿脉分为两部分,先预处理出数组\(sa…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1205 Problem Description HOHO,终于从Speakless手上赢走了所有的糖果,是Gardon吃糖果时有个特殊的癖好,就是不喜欢将一样的糖果放在一起吃,喜欢先吃一种,下一次吃另一种,这样:可是Gardon不知道是否存在一种吃糖果的顺序使得他能把所有糖果都吃完?请你写个程序帮忙计算一下. Input 第一行有一个整数T,接下来T组数据,每组数据占2行,第一行是一个整数N(0<N<…
题目大意 给出一个 \(n \times m \ (1 \leq n, \ m \leq 2500)\) 的 \(01\) 矩阵,让你在其中找到一个最大的子矩阵使得该子矩阵除了一条对角线上的数字均为 \(1\) 之外,其他数字均为 \(0\) . 思路 Level 1 暴力枚举每一个子矩阵,然后判断该矩阵是否为正方形且满足要求. 时间复杂度十分可观地达到了 $ O(n^3 m^3) ≈ O(n^6)$ Level 1.5 可以在 Level 1 的基础上,在枚举的时候就保证构造了正方形,时间复杂…
10.14 Link 唔,这一场打得不好.获得了\(\rm 75pts/300pts\)的得分,但是居然可以获得\(\rm 27/69\)的名次,也不至于不满意--毕竟是真不会233 \(\rm T1\) 大概就是字典序那个地方比较爆炸-- 于是就考虑奇数开头和偶数开头分开做,对于每种情况调整成一个合法最小代价序列.这个地方有一个贪心,原来在前面的依旧会在前面,在后面的也还会在后面,扫一遍就做完了. 这个贪心里面蕴含着一个性质.\(now_i<i,now_j<j\),即"同向换&qu…
\(\rm Link\) 然而泥萌没有权限是看不了题目的233. \(\rm T1\) 大概就是个map,脑残出题人认为(x,x)不属于有序二元组,我可qtmd.于是只拿了\(\rm 60pts\) int main(){ ios_base :: sync_with_stdio(false) ; cin.tie(0), cout.tie(0) ; cin >> N >> P ; int i ; for (i = 1 ; i <= N ; ++ i) cin >>…