url: http://oj.ecustacm.cn/problem.php?id=1369tag:模拟思路:求字节的二进制表示,其实就是求每个数的补码。对于正数来说,补码就是原码。对于负数来说,先是对原码求反码然后再加1.对于-128来说比较特殊,补码是10000000,通过正常的求法求不出,所以需要特殊判断。代码:#include <io…
url: https://www.luogu.com.cn/problem/P4095tag: 动态规划,背包DP,进制,枚举思路:多重背包问题为基础,做两次01背包,前一次后一次,之后对于每次询问的id就跳过那个id求可能的最大值。代码:#include <iostream> #include <cstdio> #incl…
url: http://oj.ecustacm.cn/problem.php?id=1361tag:数学思路:计算末尾零可以求每个因子中有多少对因子5和因子2,因为2 * 5 = 10,又因为2出现的次数会比5多,因为只要是偶数的情况就会出现因子2.所以只要计算这100个数中,每个数中因子5的个数,然后累加最后输出即可。对于求阶乘来说,如果是某个数…
问题描述小C在学习二进制运算,他了解到每个非负整数都有其二进制表示。例如,整数 5 可以被表示为二进制 "101",整数 11 可以被表示为二进制 "1011",并且除了 N = 0 外,任何二进制表示中都不含前导零。二进制的反码表示是将每个 1 变为 0,每个 0 变为 1。例如,二进制数 "10…
url: http://oj.ecustacm.cn/problem.php?id=1370tag: 动态规划思路:使用动态规划的思想,令 f[i][j] 表示在i层楼内,使用j部手机,在使用最佳策略下,最多的测试次数,换句话说就是在i层楼内,使用j部手机最少需要花费的最大的测试次数。对于只有1部手机的情况来说,有几层就要测试几次。对于0层来说,不…
url: https://www.luogu.com.cn/problem/P2851tag:动态规划,背包DP,进制,USACO,2006思路:可以用背包来做。用 f[i] 表示john付i块钱时最少的硬币数,用 g[i] 表示店主找零i块钱时最少的硬币数,对于f来说,因为硬币数量有限所以需要用多重背包来完成。而对于g来说因为硬币无限多,所以可以…
url: https://www.luogu.com.cn/problem/P4158tag:动态规划,递推,枚举,背包DP思路:用 f[i][j] 表示前i块木板粉刷j次最多的正确次数。用 g[i][j][k] 表示第i块木板粉刷j次粉刷前k个格子时最多的正确次数。用 sum[i][j] 表示第i块木板,前j个格子中需要涂成蓝色的有几个。所以可以…
url: https://www.luogu.com.cn/problem/CF149Dtag:搜索,记忆化搜索,区间DP思路:使用 f[l][r][i][j] 表示区间l和r之间l为i色,r为j色时的染色方案数。有两种情况,当 l 和 r 配对时,可以由 l + 1 到 r - 1更新过来。如果不配对,由 l 到 第一个配对的括号这段区间和由那个…
问题描述小R有nn部电脑,每部电脑的电池容量分别为aiai。她可以使用两种不同的充电方式来给电脑充电:普通充电:每单位时间为电脑充电xx单位的电量。闪充:每单位时间为电脑充电4x4x单位的电量。现在,所有电脑的电量都为零。小R希望使用闪充给所有电脑充满电,计算她需要的总充电时间。请保留结果的小数点后两位。测试样例样例1:输入:n = 4 ,x =…
url: https://www.luogu.com.cn/problem/P1453tag:动态规划,图论,基环树,树形DP思路:基环树是一种特殊的图结构,可以看作是在一棵树的基础上加入一条额外的边,从而使图中恰好出现一个环,也称作单环图或唯一环图(unicyclic graph)。其主要特点包括:连通性:基环树是连通图,任意两个顶点之间都有路径…