计蒜客(Stone Game)01背包
题意:在集合中挑一些数,形成一个集合S,剩下的数形成另一个集合P,使得S>= P ,并且对于S中任意元素ai,S-ai<=P
问有多少种方案。
题目链接:https://nanti.jisuanke.com/t/41420
只要减S堆中最小的石头后满足条件,那么该取法就满足题意
设dp【k】为S堆总重量为k的方案数
把ai从大到小排序;遍历时ai就变成了最小的那块石头
所以就是01背包,取或不取这个石头;最后把满足题目条件的加到ans中
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int mod=1e9+7;
ll dp[150005];
int a[305];
int main()
{
int i,j,n,t;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
ll sum=0;
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
sort(a+1,a+1+n,greater<int>());
memset(dp,0,sizeof dp);
dp[0]=1;
ll ans=0;
for(i=1;i<=n;i++){
for(j=sum;j>=a[i];j--){
dp[j]=(dp[j]+dp[j-a[i]])%mod;
if(j>=sum-j&&j-a[i]<=sum-j)ans=(ans+dp[j-a[i]])%mod;
//满足条件就把选了a【i】的方案数dp[j-a[i]]加上 而dp【j】则包含了没选a【i】的方案数,没选的前面已经加过了
}
}
printf("%lld\n",ans);
}
return 0;
}
计蒜客(Stone Game)01背包的更多相关文章
- 2019计蒜客信息学提高组赛前膜你赛 #2(TooYoung,TooSimple,Sometimes Naive
计蒜客\(2019CSP\)比赛第二场 巧妙爆零这场比赛(我连背包都不会了\(QWQ\) \(T1\) \(Too\) \(Young\) 大学选课真的是一件很苦恼的事呢! \(Marco\):&qu ...
- 计蒜客 28449.算个欧拉函数给大家助助兴-大数的因子个数 (HDU5649.DZY Loves Sorting) ( ACM训练联盟周赛 G)
ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor ...
- 计蒜客 作弊揭发者(string的应用)
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库 ...
- 计蒜客的一道题dfs
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形. ...
- 计蒜客模拟赛5 D2T1 成绩统计
又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. ...
- 计蒜客 等边三角形 dfs
题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长, ...
- 计蒜客 方程的解数 dfs
题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/det ...
- 计蒜客 买书 dfs
题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, ...
- 计蒜客:Entertainment Box
Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...
- 爬虫acm比赛成绩(多页成绩整合在一起、获取复制不了的数据)(hihocoder、计蒜客)
https://github.com/congmingyige/web-crawler_rank-of-competition-in-JiSuanKe-and-hihocoder 1. 计蒜客(获取复 ...
随机推荐
- win10系统每次重启桌面图标排列都会改动怎么办
鼠标右键点击个性化>主题>找到桌面图标设置>把计算机 回收站 用户的文件 控制面板 网络等前面框复选框全部勾选掉,然后在桌面新建文件夹把桌面所有的图标剪切到新建文件里面,然后把新建文 ...
- js数组去重,删除重复的属性值
let a=[] let hash={} a=a.reduce((pre,next)=>{ hash[next.name]?"":(hash[next.name]=true& ...
- python3.7安装Anaconda3+tensorflow2.1中遇到的问题
最近想搞深度学习,就开始装tensorflow,其中也是遇到了一些问题,希望给遇到同类问题的童鞋一些提示.... 因为之前一直用的python3.7,虽然网上很多建议装python3.5版本tenso ...
- vxlan结合iptables-snat实现内网服务器公网访问
如上图,有这样一种场景,我们经常遇到,局域网内有两台服务器,Server 1和Server 2,Server 1可以通通网,Server 2只能通内网,无法直接访问公网 现在想Server 2能访问到 ...
- API对象--Service(chrono《kubernetes入门实战课》笔记整理)
[概念解说] 当pod被实例化出来,如果运行 一段时间会销毁,虽然deployment和ds会注意管理和维护pod的数目,但是pod销毁后再重建,ip会发生变化,这对于服务来说,是很麻烦的.所以需要有 ...
- 13-之容器资源需求、资源限制及Metric-server(Heapster)
目录 容器资源需求.资源限制及Heapster Heapster 资源指标API及自定义指标API k8s-promtheus监控部署 node-exporter prometheus kube-st ...
- docker systemctl start报错: Failed to get D-Bus connection: Operation not permitted
转载自:https://blog.csdn.net/zhenliang8/article/details/78330658 最近使用docker部署ansible,安装ssh 遇到启动服务报错:Fai ...
- 《Rust权威指南》学习笔记——8.通用集合类型
Rust通用集合类型 动态数组Vec 字符串String 和&str 哈希映射HashMap
- Python——01.环境及安装
Python介绍 -- Python是解释型,面向对象的语言,程序结构简洁,清晰 -- Python解释器分类: CPython(官方解释器):用C语言编写的Python解释器 PyPy:用Pytho ...
- DoTween结束后删除对象
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...