给 n 中 钱币。以及每两种钱币的关系,表示,ai 的 个数 要大于 bi 组合成一个价值val,求方案数,好奇妙的一个处理方式,不得不说又学到了

#include<stdio.h>
#include<vector>
#include<cstring>
#include<iostream>
using namespace std;
const int mod = 1e9 + 7;
const int M = 1e5 + 1;
long long dp[M];
int a[500],in[500],father[500];int main(){int n,m,t,u,v;while(cin >> n >> m  >> t){memset(in,0,sizeof(in));memset(father,0,sizeof(father));memset(dp,0,sizeof(dp));    int x = m;// memset(che,0,sizeof(che));for(int i=1;i<=n;i++) cin >> a[i];while(m --){cin >> u >> v;in[v] ++ ;father[u] = v;}for(int i=0;i<x;i++){int pos = 0;for(int j=1;j<=n;j++){if(father[j] && !in[j]){pos = j;break;}}// cout << pos <<endl;if(!pos){puts("0");return 0;}int pre = father[pos];father[pos] = 0;in[pre] --;t -= a[pos];a[pre] += a[pos];if(t < 0){puts("0");return 0;}}dp[0] =1;for(int i=1;i<=n;i++){for(int j=a[i];j<=t;j++){dp[j] = (dp[j] + dp[j-a[i]]) % mod;}}//cout << t <<endl;cout << dp[t] <<endl;}
}

codeforces 283C相关推荐

  1. codeforces 283C Coin Troubles(背包DP)

    题目链接:http://codeforces.com/problemset/problem/283/C 题意:给定n件物品以及每件的重量(每种物品无限多).已知选取了一些物品的总重量为m,(x1,x2 ...

  2. CodeForces 283C Coin Troubles 分析+背包思想

    很灵活的题目,题意简单,看到又是钱币问题,类似于那种给了一定数目T,有n种钱币,每种的价值,让你组合成总价值为T的方案数,但是加了一些限制条件,那就是某些种类钱币数量必须大于另一些种类的,加了个限制条 ...

  3. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  4. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  5. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  6. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  7. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  8. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  9. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

最新文章

  1. spark1.1.0学习路线
  2. [一文一命令]tail命令详解
  3. 尾气冒黑烟是什么问题_对机动车环保检测尾气排放的了解!
  4. 判断两条线段是否相交
  5. Nacos配置的优先级
  6. 数据库考研SQL操作
  7. mysql linux 中文乱码怎么解决_如何解决mysql linux 中文乱码的问题
  8. 专用efi文件包_优质设备项目来啦!山钢焦炉、济南鲍德炉料公司所属资产包转让...
  9. python 详解re模块
  10. python读取目录里所有txt文件转excel
  11. 服务器改文件,服务人员:如何更新服务器上的文件更改缓存?
  12. TBSchedule原理与实践
  13. Win7 ASP连接数据库“未找到提供程序.该程序可能未正确安装”问题
  14. Mac制作windows10安装U盘
  15. BZOJ4134 : ljw和lzr的hack比赛
  16. 给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。
  17. 杭州电子科技大学研究生计算机专业目录,杭州电子科技大学2017年硕士计算机学院招生目录.pdf...
  18. ubuntu18 配置静态IP地址(详细版)
  19. dubbo的简单搭建
  20. java word模版填充_java向word模板中填充数据(总结)

热门文章

  1. oracle层级计算推演,云和恩墨的两道Oracle面试题
  2. WPE(Winsock Packet Editor)
  3. 分享按钮 Social Buttons for Bootstrap
  4. UISlider 滑块控件—IOS开发
  5. PHP中使用Filter进行数据安全过滤
  6. 关于mybatis的association和collection主键映射问题
  7. RBF的一维和二维逼近
  8. 动态规划——K号数(蓝桥杯试题集)
  9. Leetcode算法题(C语言)10--两数之和
  10. 【AI视野·今日CV 计算机视觉论文速览 第151期 part2】Tue, 6 Aug 2019