数学(统计问题,uva 1640)
来源:互联网 发布:淘宝女装黑色毛衣 编辑:程序博客网 时间:2024/06/06 20:06
http://blog.csdn.net/u014800748/article/details/43956019
看别人写的才会,没有用紫书上的方法。感觉自己数位DP,或者说这些数位相关问题很弱。
还记得紫书上的一题《颜色的长度》,里面讲到用一种技巧,那就是计算还需要多少费用。这题里也有类似的感觉,比如说你要求n的答案是多少,那么就先计算个位产生了多少影响,然后n=n/10-1,递归求解。
代码
#include<bits/stdc++.h>using namespace std;typedef long long ll;ll ans[10];void solve(ll x,ll v){ ll ge=x%10; ll qi=x/10; for(ll i=1;i<=ge;i++) ans[i]+=v; for(ll i=0;i<10;i++) ans[i]+=v*qi; ll temp=qi; while(temp) { ans[temp%10]+=v*(ge+1); temp/=10; } if(qi) solve(qi-1,v*10);}int main(){ ll a,b; while(scanf("%lld %lld",&a,&b)==2&&(a+b)) { if(a>b) swap(a,b); memset(ans,0,sizeof(ans)); solve(b,1); solve(a-1,-1); for(ll i=0;i<10;i++) printf("%lld%c",ans[i],i==9?'\n':' '); } return 0;}
0 0
- 数学(统计问题,uva 1640)
- uva--10057+数学问题
- HDU 2563:统计问题【数学】
- UVa 11038 - How Many O's? (组合数学 数位统计)
- UVA 10025(数学)
- UVA 11300(数学)
- UVA 12665(数学)
- uva - 10714 - Ants(数学推导、蚂蚁问题)
- UVa 10250 The Other Two Trees(数学问题)
- uva 10387 Billiard (基础数学问题.平面反射)
- UVA 1640(数位统计)
- uva - UVA 1388 - Graveyard (数学推理)
- UVA 846 - Steps(数学)
- UVA 557 Burger (数学)
- uva 11889 Benefit(数学)
- UVa 294 - Divisors(数学)
- UVA 11181(数学概率)
- UVa 11889 Benefit (数学)
- Apple HLS: introduction
- 自定义调试信息的输出 __VA_ARGS__用法(转)
- Linux并发控制技术
- 【Windows】当程序调用dll时,获取dll路径
- servlet工作原理、生命周期
- 数学(统计问题,uva 1640)
- openwrt学习历程(三)
- Linux下的C语言编程——从指定位置复制
- Textview字体滚动
- 64位Ubuntu14.04 tomcat日志报错 There is insufficient memory for the Java Runtime Environment to continue
- POI操作excel
- js中的arguments的时间开销
- 一个shell程序
- mysql配置文件my.ini my.cnf实例