Hdu 5890 Eighty seven
来源:互联网 发布:淘宝怎么批量上架宝贝 编辑:程序博客网 时间:2024/06/07 20:49
有50个数,每次拿走至多三个数询问是否存在十个数满足和等于87。
可以用bitset压位跑一个背包
抠一抠常数就能过去惹
#include<bits/stdc++.h>using namespace std;const int maxn = 55;int var[maxn];int n;int ans[maxn][maxn][maxn];bitset<88>dp[10];bool cal(){ int a,b,c; int x,y,z; scanf("%d %d %d",&a,&b,&c); x = max(max(a,b),c); z = min(min(a,b),c); y = a + b + c - x - z; int &anw = ans[x][y][z]; if(~anw) return anw; for(int i=0;i<=10;i++) dp[i].reset(); dp[0][0] = 1; for(int i=1;i<=n;i++){ if(i == x || i == y || i == z || var[i] > 87) continue; for(int j=10;j>=1;j--){ dp[j] |= dp[j-1]<<var[i]; } } return anw = dp[10][87];}int main(){ int t; scanf("%d",&t); while(t-- && ~scanf("%d",&n)){ memset(ans,-1,sizeof(ans)); for(int i=1;i<=n;i++){ scanf("%d",&var[i]); } int q; scanf("%d",&q); while(q--){ puts(cal()?"Yes":"No"); } } return 0;}
0 0
- hdu 5890 Eighty seven
- Hdu 5890 Eighty seven
- Hdu 5890 Eighty seven
- hdu 5890 Eighty seven DP
- hdu 5890 Eighty seven 背包bitset
- HDU 5890 Eighty seven(bitset优化dp)
- hdu 5890 Eighty seven(背包+bitset)
- 【HDU 5890】Eighty seven(bitset+DP+优化)
- Eighty seven
- HDU 5890 Eighty seven (DP + bitset) 优化 (2016 青岛网络赛)
- HDU 5890 Eighty seven ACM/ICPC 2015 Shenyang Online(DP+bitset优化)
- hdu5890 Eighty seven(DP)
- HDU5890 Eighty seven (数位DP)
- hdu5890 Eighty seven(背包+bitset优化)
- 1783 转化为one thousand and seven hundred and eighty -three
- 2016 ACM/ICPC Asia Regional Qingdao hdu5890 Eighty seven(DP+bitset优化妙用)
- Eighty seven (bitset优化) 在n个数中取m个数和为k
- HDU The Seven Percent Solution
- get和post的区别
- EditText 监听-----TextWatcher
- “费米悖论”
- 第四章: 类和接口
- Python小技巧 2:列表项的推导式和过滤操作
- Hdu 5890 Eighty seven
- Java中的基本数据类型
- 一些有趣的东西
- git 最常用命令
- Oracle wmsys.wm_concat()函数-把指定的列的值一个个用逗号链接起来
- leetcode 46: permutations
- Monkey
- 重启系统后oracle突然变慢问题解决
- C++11新特性