首页 > 消减整数
头像 墨海灬流弈
发表于 2021-03-20 23:51:25
C-消减整数 解题思路: 从1开始减(设i为1),后面只能减 i 或者2* i,也就是说只能减2的倍数,那么如果一开始n为双数就得减两次i=1(题目要求第一次必须减1,为了确保n能到0所以需要保证n是双数),否则减一次。确保n为双数以后开始循环,如果能被i的两倍整除,那么就i* 2,否则就减自身i不 展开全文
头像 あおいSakura
发表于 2021-04-26 20:49:32
消减整数 题目链接:nowcoder 219038 到主站看:https://blog.csdn.net/weixin_43346722/article/details/116171958 题目大意 给你一个数,然后你可以从减 1 开始,接着每次减的要么跟上一次一样,要么是它的两倍,问你最少把减多少 展开全文
头像 此在Dasein
发表于 2025-11-12 22:06:36
一、关键观察设第 i 步减去的数为 ai​。规则要求a1​=1,ai+1​∈{ai​,2ai​}(i≥1)因此每个 ai​ 必然是 2 的幂,且指数序列非递减,且每一步的指数最多只能 +1。设出现的最高幂为 2k,则在序列中必有2^0,2^1,…,2^k每种至少出现一次。记 2i 出现的次数为 ci 展开全文
头像 大时代1105
发表于 2025-03-18 15:37:03
思路 贪心 过程 代码 #include <iostream> using namespace std; int t, h; int func() { h --; int ans = 1, a = 1; while(h) { i 展开全文