刷题——6092 Rikka with Subset
来源:互联网 发布:淘宝包含哪些部门 编辑:程序博客网 时间:2024/06/05 21:17
/*
对于b[i],从1遍历到m,头一个不是0的数一定是a[0],我们可以先删掉b[i]中a[0]的影响
这时从i+1遍历到m,若b[x]不为0,则x-i若不为0,则b[x-i]的方案数+i,即为i在b[x]中的方案数,这时b[x]-=b[x-i]即可
重复多次即可求出a[]
*/
#include <stdio.h>
#define ll long long
ll b[10100];
void solve(int x,int m){
b[x]--;
for(int i=x+1;i<=m;i++){
b[i]-=b[i-x];
}
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d %d",&n,&m);
for(int i=0;i<=m;i++){
scanf("%I64d\n",&b[i]);
}
while(n--){
for(int i=1;i<=m;i++){
if(b[i]>0){
solve(i,m);
printf("%d",i);
if(n)printf(" ");
break;
}
}
}
printf("\n");
}
return 0;
}
对于b[i],从1遍历到m,头一个不是0的数一定是a[0],我们可以先删掉b[i]中a[0]的影响
这时从i+1遍历到m,若b[x]不为0,则x-i若不为0,则b[x-i]的方案数+i,即为i在b[x]中的方案数,这时b[x]-=b[x-i]即可
重复多次即可求出a[]
*/
#include <stdio.h>
#define ll long long
ll b[10100];
void solve(int x,int m){
b[x]--;
for(int i=x+1;i<=m;i++){
b[i]-=b[i-x];
}
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m;
scanf("%d %d",&n,&m);
for(int i=0;i<=m;i++){
scanf("%I64d\n",&b[i]);
}
while(n--){
for(int i=1;i<=m;i++){
if(b[i]>0){
solve(i,m);
printf("%d",i);
if(n)printf(" ");
break;
}
}
}
printf("\n");
}
return 0;
}
阅读全文
0 0
- 刷题——6092 Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092:Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092Rikka with Subset
- hdu 6092 Rikka with Subset
- HDU 6092 Rikka with Subset
- [HDU 6092] Rikka with Subset
- hdu--6092--Rikka with Subset
- HDU 6092 ( Rikka with Subset )
- HDU 6092 Rikka with Subset
- HDU 6092-Rikka with Subset
- HDU 6092 Rikka with Subset
- Hdu 6092 Rikka with Subset【背包Dp】
- F
- Xamarin.Foms 用户界面——控件——Style——样式继承
- javascript深入理解js闭包
- 数据结构上机测试4.1:二叉树的遍历与应用1
- 2017年8月9日训练日记
- 刷题——6092 Rikka with Subset
- 5-4 畅通工程之最低成本建设问题 (30分)
- JavaScript作用域(一)
- Vim操作拾遗
- Mysql 开启视图权限与创建视图教程
- hdu1394最小逆序数——线段树
- bzoj 4710: [Jsoi2011]分特产 排列组合+容斥原理
- Java微信支付开发之查询订单
- 第十天总结