焦作网络赛K. Transport Ship
dp边界条件又错了,最开始没加dp[0][0] = 1。以后可以把dp想成一个二维数组,从第一行推到第n行。那么推导第一行的时候就需要第0行。这么想就不容易错了。
坑点:dp边界条件
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef long long lint;
const lint maxn = 30;
const lint mod = 1000000007;
lint v[maxn],c[maxn];
vector<lint> object,query;
void init(){query.clear();object.clear();
}
void solve( lint n ){for( lint i = 1;i <= n;i++ ){lint vv = (1<< (c[i] - 1));for( ;vv >=1;vv >>= 1 ){object.push_back( (v[i]*vv)%mod );}}
}
const lint maxs = 10001;
lint dp[450][maxs];
void solve2( lint s ){for( lint i = 0;i < object.size();i++ ){dp[i][0] = 1;for( lint j = 1;j <= s;j++ ){dp[i][j] = 0;if(i )dp[i][j] = (dp[i][j]+dp[i-1][j])%mod;if( j - object[i] >= 0 )dp[i][j] = (dp[i][j] + dp[i][ j - object[i] ])%mod;}}
}
int main(){lint T,n,q;scanf("%lld",&T);while( T-- ){init();scanf("%lld%lld",&n,&q);for( lint i = 1;i <= n;i++ ){scanf("%lld%lld",&v[i],&c[i]);}lint mm = 0;for( lint x,i = 1;i <= q;i++ ){scanf("%lld",&x);mm = max( mm,x );query.push_back( x );}solve(n);solve2(mm);for( lint i = 0;i < query.size();i++ ){printf("%lld\n", dp[ object.size()-1 ][ query[i] ] );}}return 0;
}
焦作网络赛K. Transport Ship相关推荐
- 2018焦作网络赛 - Poor God Water 一道水题的教训
本题算是签到题,但由于赛中花费了过多的时间去滴吧格,造成了不必要的浪费以及智商掉线,所以有必要记录一下坑点 题意:方格从1到n,每一格mjl可以选择吃鱼/巧克力/鸡腿,求走到n格时满足 1.每三格不可 ...
- 2018焦作网络赛-E- Jiu Yuan Wants to Eat
题目描述 You ye Jiu yuan is the daughter of the Great GOD Emancipator. And when she becomes an adult, s ...
- 【计蒜客 - 2019南昌邀请赛网络赛 - K】MORE XOR(数学,找规律,打表)
Given a sequence of nn numbers a_1, a_2, \cdots, a_na1,a2,⋯,an and three functions. Define a func ...
- Peekaboo(2019年上海网络赛K题+圆上整点)
目录 题目链接 题意 思路 代码 题目链接 传送门 题意 你的位置在\(O(0,0)\),\(A\)的位置为\((x_1,y_1)\),\(B\)的位置为\((x_2,y_2)\),现在已知\(a=O ...
- 2019 ICPC 上海网络赛 K. Peekaboo
题目连接:https://nanti.jisuanke.com/t/41421 题意:给定三个整数a, b, c,求半径为a.b,圆心坐标为原点的两个同心圆上的整点间的距离为c的点对 题解:推一下圆上 ...
- 2019 ICPC 上海站网络赛 K.Peekaboo (圆上整点)
https://nanti.jisuanke.com/t/41421 题意:给定平面上两个点到原点之间的距离aaa和bbb以及这两点之间的距离ccc,且这两点的坐标均是整数,求该两点可能的坐标,按字典 ...
- 2019徐州网络赛 K.Center (STL)
题意: 给n个点的坐标,求至少再加入几个点能使得所有点中心对称 分析: 中心对称的中心点肯定是给定的某一个点,或者某条连线上的中点 如果将一个点作为中心点,可以消去一个点 如果将连线中点作为中心点,可 ...
- icpc网络赛第二场K Meal
icpc网络赛第二场K Meal 题意: 有n个人,n个菜, 现在n个人轮流吃菜,起初S中有n个菜,第i个人会在还没拿走的菜中随机选一个,拿走第j个菜的概率为ai,j∑k∈Sai,k\frac{a_{ ...
- 乌鲁木齐网络赛J题(最小费用最大流模板)
ACM ICPC 乌鲁木齐网络赛 J. Our Journey of Dalian Ends 2017-09-09 17:24 243人阅读 评论(0) 收藏 举报 分类: 网络流(33) 版权声 ...
最新文章
- 机器学习博士自曝:实验室「阉割」我的创造力,劝你别读!
- 《JAVA编程那点事儿》读书笔记(二)——类和对象
- MySQL事务效率测试
- 常用的SSH注解标签
- HandlerInterceptorAdapter或HandlerInterceptor的使用
- 【突破移动端性能极限】
- oracle---函数(trunc,nvl,nvl2)
- mysql多实例脚本_mysql多实例脚本
- 2017.8.16 喵星球上的点名 思考记录
- 文本处理3剑客 sed命令
- 惠斯通电桥信号调理芯片_变频器通电后无反应,如何检查维修?
- Chap6:风险与监督[《区块链中文词典》维京甲子]
- 读取文本节点_Python文本处理教程(2)
- RSA总裁:2010年需重点关注云计算安全
- 练习:编写循环,让用户输入内容,判断输入的内容以alex开头的,则将该字符串加上_SB结尾...
- 怎么修改游戏ip地址
- laravel框架查询条件
- IDEA 提示Unmapped Spring configuration files found的解决办法
- Unity关于屏幕适配留黑边的做法
- python control控制系统仿真再更新:使用内外环系统进行垂直起降飞行器横向控制仿真
热门文章
- linux修改时间和日期,linux修改时间和日期的方法
- 社区开放任务指南-3210-HTML5在FirefoxOS上的支持情况分析
- IDEA使用database时,连接MySQL后schemas不显示数据库名的情况
- 基于php的外卖订餐系统开题报告_校园网上订餐系统的设计与实现(PHP,MySQL)
- 易乐游装在云服务器_新手搭建云服务器详细过程
- Kotlin学习笔记12——数据类和密封类
- 更换主板后 Office无法激活问题解决
- FlashFXP上传下载
- reporting php,PHP报错函数error_reporting()怎么用?
- Telerik Reporting Crack,节省 50% 的开发时间