题目链接
都说是很简单的dp,可能对于会dp的人来说确实是很简单的dp。但是我们队一个会的也没有,太菜了。。
根据题目的要求,我们只需要枚举当前的最小值,那么我们由大到小排序,然后倒着找,这样当前值一定是最小的。根据题意我们会找出一个符合题意的范围。然后计算出如果当前石头为最小值的话,总共有多少种方案,然后更新答案。类似于01背包
代码如下:

#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;const int maxx=3e2+100;
const int maxm=2e5+100;
int a[maxx];
ll dp[maxm];
int n;int main()
{int t,_min,_max;scanf("%d",&t);while(t--){scanf("%d",&n);int sum=0;for(int i=1;i<=n;i++) scanf("%d",&a[i]),sum+=a[i];for(int i=1;i<=sum;i++) dp[i]=0;dp[0]=1;sort(a+1,a+1+n);ll ans=0;for(int i=n;i>=1;i--){_min=(sum+1)/2-a[i];_max=(sum+a[i])/2-a[i];//这就是当前值为最小值的情况下,符合条件的范围数。for(int j=_min;j<=_max;j++) ans=(ans+dp[j])%mod;for(int j=sum;j>=a[i];j--)//这里类似于01背包,倒着找,不断更新。dp[j]代表的是总重量为j的方案数。{if(j<0) break;dp[j]+=dp[j-a[i]];dp[j]%=mod;}}printf("%lld\n",ans);}
}

努力加油a啊,(o)/~

Stone game(dp计数上海icpc网络预选赛)相关推荐

  1. Light bulbs(上海icpc网络预选赛,差分离散化)

    题目链接 一开始没看数据量,直接写了一发差分,tle了. 后来改的线段树,结果在测试的时候显示内存超限. 题目中说,m只有1000的数据量,但是n却是1e6的数据量,所以从m出发去考虑问题. 我们直接 ...

  2. Factories Gym - 102222G(2018宁夏邀请赛暨2019银川icpc网络预选赛)

    第一场icpc网络赛,出的去年宁夏邀请赛原题.c题还没有读完就有ak的了..(滑稽) Byteland has nn cities numbered from 11 to nn, and n−1n−1 ...

  3. Greedy Sequence(2019南京icpc网络预选赛)主席树求区间小于k的最大值

    题意:给出n个整数,构造s1,s2,s3-sn s1,s2,s3-sns1,s2,s3-sn,si sisi满足五个条件 1.s1[i]=i s1[i]=is1[i]=i 2.对于1<j< ...

  4. 2022 ICPC网络预选赛第二场 J A Game about Increasing Sequences 歪解

    方便起见,贴一下题面 题目链接:The 2022 ICPC Asia Regionals Online Contest (II) J题是个博弈论的结论题,比赛时死活想不出来.罚坐三小时很痛苦,没有办法 ...

  5. Continuous Intervals Gym - 102222L(2018宁夏邀请赛暨2019银川icpc网络预选赛)

    Lamis is a smart girl. She is interested in problems about sequences and their intervals. Here she s ...

  6. icpc网络赛第二场K Meal

    icpc网络赛第二场K Meal 题意: 有n个人,n个菜, 现在n个人轮流吃菜,起初S中有n个菜,第i个人会在还没拿走的菜中随机选一个,拿走第j个菜的概率为ai,j∑k∈Sai,k\frac{a_{ ...

  7. 挑战程序设计竞赛_我系首次参加第六届中国大学生程序设计竞赛网络预选赛

    点击上方蓝字关注  「龙外信息工程系」 讲述有温度的故事    传递有态度的思想 2020年9月20日12时至17时,第六届中国大学生程序设计竞赛网络赛预选赛在杭州电子科技大学OJ成功举办,黑龙江外国 ...

  8. “Shopee杯” 武汉大学(网络预选赛)A - A Monument For Heroes

    "Shopee杯" 武汉大学(网络预选赛)A - A Monument For Heroes 题目链接:Click 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ ...

  9. Atcoder AGC031B Reversi (DP计数)

    Atcoder AGC031B Reversi (DP计数) 简单的计数题.(总算做出一道AGC的B题了,然而这场比赛我忘记打了233333) 题目链接: https://atcoder.jp/con ...

最新文章

  1. 数据结构与算法(7-4)最短路径(迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法)
  2. go--基本数据类型
  3. 旋转矩阵中6保6_40岁阿姨发明新型手推车,可以360度旋转,干活效率提升6倍
  4. 全球及中国EDM放电加工机行业运营盈利前景与渠道分析报告2022版
  5. 使用Google GSON:额外的赠品:第二部分
  6. Weblogic - Failed to bind remote object 错误解决方法
  7. ios键盘弹回时顶上去得页面不会回来
  8. 布比Code Review赏金计划正式启动 让区块链回归代码本身
  9. 案例-简介小米侧边栏(HTML、CSS)
  10. 【TO DO!】二分查找各种情况大总结
  11. 国内PHP,ASP免费开源的CMS介绍
  12. HTML中IE条件注释判断语句(!--[if XX IE X]![endif]--)
  13. (day 39 - 动态规划) 剑指 Offer 47. 礼物的最大价值
  14. Atitit 源码语句解析结构 目录 1.1. 栈帧(stack frame).每个独立的栈帧一般包括: 1 1.2. 局部变量表(Local Variable Table) 2 2. ref 2
  15. dll.dll病毒及解决办法
  16. 仿 Drools 决策表 Groovy 实现
  17. 谜底是计算机的谜语英语,英语谜语大全及答案
  18. CSS3-文本样式、字体样式
  19. html微信图片自适应,微信小程序实现图片高度自适应
  20. 成功者根本没有告诉你故事的全部 (转文)

热门文章

  1. 微信小程序实现时间戳转为时间格式
  2. 查WiFi密码的三种方法
  3. mysql concat 日期_mysql group_concat时间用法
  4. vue在less中使用css3 calc 被解析 的问题
  5. linux datetime,Python datetime模块示例详解
  6. python3连接mysql使用mysqldb_Python3 连接Mysql数据库
  7. java中怎么制作单选框_java代码swing编程 制作一个单选按钮的Frame
  8. ios8 定位问题解决思路
  9. ffmpeg for iOS,并调试iFrameExtractor demo
  10. sourcetree 拉取 一直让输入密码