「杂题乱刷2」CF1567D
1.「算法笔记」构造选讲2.「杂题乱刷」CF1221B3.「杂题乱刷」CF468A4.「杂题乱刷」AT_abc337_e5.「杂题乱刷」洛谷 P88666.「杂题乱刷」CF1937C & CF1936A7.「杂题乱刷」CF1934D28.「杂题乱刷」at_abc092_d & AT_arc093_b9.「杂题乱刷」CF74E10.「杂题乱刷」AT_abc096_d11.「杂题乱刷」CF1973D12.「杂题乱刷」CF1977B13.「杂题乱刷」P827914.「杂题乱刷」P1067815.「杂题乱刷2」CF1015D Walking Between Houses16.「杂题乱刷2」CF1889A Qingshan Loves Strings 2
17.「杂题乱刷2」CF1567D
18.「杂题乱刷2」CF1493C19.「杂题乱刷2」CF862C20.「杂题乱刷2」CF1365G21.「杂题乱刷2」AT_arc184_a22.「杂题乱刷2」CF1370F223.「杂题乱刷2」CF2040D24.「杂题乱刷2」CF1738F Connectivity Addicts25.「杂题乱刷2」CF109Dduel 到的。
题目链接
解题思路
发现在越高的数位上,你获取的利益就会越大。
因此你肯定是每次将尽可能多的数分到最高的数位上是最优的。
但是你会发现,有可能你这样分数位后后面的数就分不到权值了,你只需要保证去掉当前分掉的权值之后,剩下可以分的权值不小于还剩下没分到的数字数量即可。
接下来我们考虑一种没有损耗权值的方式。
根据前面加粗的结论,你发现,对于前
参考代码
点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define re register
#define ll long long
#define forl(i,a,b) for(re ll i=a;i<=b;i++)
#define forr(i,a,b) for(re ll i=a;i>=b;i--)
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define endl '\n'
#define QwQ return 0;
ll _t_;
void _clear(){}
ll n,m;
ll ans[110];
void solve()
{
_clear();
cin>>n>>m;
forr(i,m-1,1)
{
ll pw=1;
while(n-pw>=i)
pw*=10;
pw/=10;
// ll add=n-max(num,1ll);
cout<<pw<<' ';//max(num,1ll)<<' ';
n-=pw;//max(num,1ll);
}
cout<<n<<endl;
// cout<<endl;
}
int main()
{
IOS;
_t_=1;
cin>>_t_;
while(_t_--)
solve();
QwQ;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?