ACM-ICPC 2018 焦作赛区网络预赛 K. Transport Ship(DP)
2024-09-05 08:07:22
题目链接:https://nanti.jisuanke.com/t/31720
题意:有n种飞船,每种飞船有(1 << c)- 1 艘,容量为 k[i] ,q 次询问,每次询问选若干艘飞船使得容量为 s 的方案数。
题解:预处理出全部情况。dp[ i ][ j ]表示选前 i 个物品凑出容量为 k 的方案数,转移的时候可注意到dp[ i ][ j ] = sigma(dp[i - 1][j - x * v ]),然后减掉不合法的情况(x > ( (1 << c) - 1) )。详见代码~
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define LL __int128
#define ull unsigned long long
#define mst(a,b) memset((a),(b),sizeof(a))
#define mp(a,b) make_pair(a,b)
#define fi first
#define se second
#define pi acos(-1)
#define pii pair<int,int>
#define pb push_back
const int INF = 0x3f3f3f3f;
const double eps = 1e-;
const int MAXN = 1e4 + ;
const int MAXM = 1e6 + ;
const ll mod = 1e9 + ; ll dp[][MAXN]; int main()
{
#ifdef local
freopen("data.txt", "r", stdin);
// freopen("data.txt", "w", stdout);
#endif
int t;
scanf("%d",&t);
while(t--) {
int n,q;
scanf("%d%d",&n,&q);
mst(dp, );
dp[][] = ;
for(int i = ; i <= n; i++) {
int c,v;
scanf("%d%d",&v,&c);
c = ( << c) * v;
for(int j = ; j < v; j++) dp[i][j] = dp[i - ][j];
for(int j = v; j <= ; j++) {
dp[i - ][j] += dp[i - ][j - v];
if(dp[i - ][j] >= mod) dp[i - ][j] -= mod;
dp[i][j] = dp[i - ][j];
if(j >= c) {
dp[i][j] -= dp[i - ][j - c];
if(dp[i][j] < ) dp[i][j] += mod;
}
}
}
while(q--) {
int s;
scanf("%d",&s);
printf("%lld\n",dp[n][s]);
}
}
return ;
}
最新文章
- 云服务器 Centos7.0 部署
- androidannotations 简单复制与点击事件(1)
- jQuery插件(拖拽)
- Python中的range函数用法
- JS 操作 DOM
- 用ProGet搭建内部的NuGet服务器(更新安装步骤)
- 1301. The Trip
- 使用Chrome工具来分析页面的绘制状态
- VC++2010下编译STLport,Boost
- MYSQL的存储引擎一般只要哪些?
- linux命令之ps命令
- Opencv学习笔记(六)SURF学习笔记
- 改进的延时函数Delay(使用MsgWaitForMultipleObjects等待消息或超时的到来)
- Nginx+Apache实现反向代理
- 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
- 细说Ajax跨域
- JFinal框架
- February 14th, 2018 Week 7th Wednesday
- 应用程序与驱动程序通信 DeviceIoControl
- python中json.load()、json.loads()、json.dump()、json.dumps()的区别
热门文章
- leveldb单元测试之宏定义源码剖析
- Centos6.5下安装jumpserver-1.4.1报错AttributeError: module &#39;gssapi&#39; has no attribute &#39;GSSException&#39;
- win7 配置 用户/系统DSN (解决plsql odbc导入器 DSN 没有选项)
- java基础知识入门
- Jquery中数组转字符串,c:foreach自动将带";,";字符串进行拆分赋值
- 网络流+最小生成树的最少割边数--How Many to Be Happy?
- memcached基本操作指令
- Git安装使用秘籍
- Redis 的订阅发布(PUB/SUB)示例
- AngularJS-01.AngularJS,Module,Controller,scope