2018ICPC网络赛(焦作站)K题题解
一、题目链接
https://nanti.jisuanke.com/t/31720
二、题意
给$N$种船只,第$i$种船的载重量是$V_i$,数量是$2^{C_i}-1$。接下来有$Q$次询问,每次给定一个数字$S(1 \le S \le 10000)$,表示货物重量,回答有多少种载货方案。注意,每条船要么不载货,要么满载。
三、思路
比较裸的多重背包。如果写最朴素的多重背包$dp$,时间复杂度是$O(N*10000*2^{C_i})$,显然会超时。
所以,考虑二进制优化。做法是,设$C_i$的二进制表示为$s$,如果$s[i]=1$($i$从$0$开始数,从右边开始),那么,把这$2^i$条船合并成一条,载货量是$2^i*V_i$。
然后就是01背包计数了。
四、代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
;
], n, q, ncnt;
LL dp[][];
int main() {
int T, x, y;
for(scanf("%d", &T); T--;) {
ncnt = ;
scanf("%d%d", &n, &q);
; i <= n; ++i) {
scanf("%d%d", &x, &y);
y = ( << y) - ;
; i <= y; i <<= ) {
v[++ncnt] = i * x;
}
}
; i <= ncnt; ++i) {
; j <= ; ++j)dp[i][j] = ;
}
dp[][] = ;
; i <= ncnt; ++i) {
; j <= ; ++j) {
dp[i][j] = dp[i - ][j];
][j - v[i]]) % mod;
}
}
while(q--) {
scanf("%d", &x);
printf("%lld\n", dp[ncnt][x]);
}
}
;
}
2018ICPC网络赛(焦作站)K题题解的更多相关文章
- 2018ICPC网络赛(焦作站)E题题解
一.题目链接 二.题意 给定一棵树,有四种操作: $1\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值乘以$x$: $2\ u\ v\ x$:把节点$u$到$v$路径上的所有点的权值加上 ...
- 2018ICPC网络赛(徐州站)A题题解
一.题目链接 https://nanti.jisuanke.com/t/31453 二.题意 给定$N$个位置,$2^k$种颜色,让你去涂色,条件是相邻的两种颜色类型异或值的二进制表示不全为$1$(以 ...
- 2013 ACM-ICPC亚洲区域赛南京站C题 题解 轮廓线DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4804 题目大意 给你一个 \(n \times m\) 的矩形区域.你需要用 \(1 \times 1 ...
- Known Notation 39届亚洲赛牡丹江站K题
题意: 题意,哎!说道题意就蛋疼啊,比赛的时候就愣是把这个题目读成数字可以随意组合,比如123 可以拆成1 23 ,12 3 ,1 2 3,结果显然,水题当神题,各种想不出来,然后就显然的 ...
- 2019CCPC网络预选赛 八道签到题题解
目录 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛 6702 & 6703 array 6704 K-th occurrence 6705 path 6706 huntian o ...
- HDU 4730 We Love MOE Girls (2013成都网络赛,签到水题)
We Love MOE Girls Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Building Fire Stations 39届亚洲赛牡丹江站B题
题意: 给你一棵树,让你再里面选取两个点作为**点,然后所有点的权值是到这两个点中最近的那个的距离,最后问距离中最长的最短是多少,输出距离还有那两个点(spj特判). 思路: 现场 ...
- 2016 ICPC青岛站---k题 Finding Hotels(K-D树)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5992 Problem Description There are N hotels all over ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
随机推荐
- mms:源码浅析
程序启动 程序的入口:ConversationList.java,对应主页中短信的快捷方式.由此进入短信列表模块. 短信列表模块 该模块的展示是由ConversationList.java类实现的,该 ...
- require('nw.gui') 失效问题
// gui = global.window.nwDispatcher.requireNwGui() --original // gui = window.require('nw.gui') gui ...
- ZOJ 17届校赛 How Many Nines
If we represent a date in the format YYYY-MM-DD (for example, 2017-04-09), do you know how many 9s w ...
- PAT 天梯赛 是否完全二叉搜索树 (30分)(二叉搜索树 数组)
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. 输入格式: 输入第一行给出一个不超过20的正整数 ...
- DS博客作业04--树大作业说明
大作业题目说明 1.目录树 按照如下目录路径,设计一颗目录树保存.并能实现对目录树遍历.目录路径存在file.txt,格式如下: b.txt c\ ab\cd.txt a\bc.txt ab\d.tx ...
- 安装python第三方库
前言 接触python编程很晚,基础语法比较好理解,但是用起来还是需要用心的,特别是可能会用到许多第三方库,本文就介绍一下python第三方库的安装. 环境 系统环境:win7_64; Python版 ...
- .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
一个简单的 Task 不会消耗多少时间,但如果你不合适地将 Task 转为同步等待,那么也可能很快耗尽线程池的所有资源,出现类似死锁的情况. 本文将以一个最简单的例子说明如何出现以及避免这样的问题. ...
- Sublime Text3 使用
注: 1.绿色版的某些插件有问题,导致某些插件无法使用,而且无法删除和安装,需要删除Data/Cache目录,重新安装无法使用的插件 2.绿色版无法编译python,可使用安装版安装sublime后, ...
- test20180922 扭动的树
题意 分析 二叉查找树按照键值排序的本质是中序遍历,每次我们可以在当前区间中提取出一个根,然后划分为两个子区间做区间DP.记\(f(i,j,k)\)表示区间[i, j]建子树,子树根节点的父亲是第k个 ...
- IE7下对某些seajs压缩文件不兼容的解决方法
seajs.config({ comboExcludes: /common.js/ }) (杨磊哥提供)