题目链接

大型补档计划

\(f[i][j]\) 表示第 \(i\) 个国家,获得 \(j\) 个国家支持,用的最少花费

\(f[i][0] = 0\)

\(f[i][sz[i]] = w[i]\)

对于每条边 \((u, v)\)

枚举 \(u\) 的第二维 \(j\),\(v\) 的第二维 \(k\) \((k <= j)\)

\(f[u][j] = min(f[u][j], f[v][k] + f[u][j - k])\)

#include <cstdio>
#include <iostream>
#include <map>
#include <string>
#include <cstring>
#include <sstream>
using namespace std;
const int N = 205;
int n, m;
int head[N], numE = 0, out[N], idx = 1;
map<string, int> st;
int sz[N], f[N][N], w[N];
struct E{
int next, v;
} e[N];
void add(int u, int v) {
e[++numE] = (E) { head[u], v };
head[u] = numE;
} void dfs(int u) {
sz[u] = 1;
f[u][0] = 0;
for (int i = head[u]; i; i = e[i].next) {
int v = e[i].v;
dfs(v);
sz[u] += sz[v];
for (int j = m; j >= 1; j--)
for (int k = 1; k <= j; k++)
f[u][j] = min(f[u][j], f[u][j - k] + f[v][k]);
}
f[u][min(sz[u], m)] = min(f[u][min(sz[u], m)], w[u]);
for (int i = m - 1; i >= 1; i--) f[u][i] = min(f[u][i], f[u][i + 1]);
} int main() {
ios::sync_with_stdio(false);
while (cin >> n >> m) {
numE = 0; idx = 1;
memset(head, 0, sizeof head);
memset(f, 0x3f, sizeof f);
memset(out, 0, sizeof out);
st.clear();
for (int i = 1; i <= n; i++) {
int val; string s, b, c;
cin >> c >> val;
if (!st[c]) st[c] = ++idx;
w[st[c]] = val;
int a = st[c];
getline(cin, s);
stringstream ss(s);
while (ss >> b) {
if (!st[b]) st[b] = ++idx;
add(a, st[b]); out[st[b]]++;
}
}
for (int i = 2; i <= idx; i++) if (!out[i]) add(1, i);
w[1] = 1e9; dfs(1);
cout << f[1][m] << endl;
}
}

AcWing 324. 贿赂FIPA的更多相关文章

  1. POJ 3345 Bribing FIPA 树形DP

    题目链接: POJ 3345 Bribing FIPA 题意: 一个国家要参加一个国际组织,  需要n个国家投票,  n个国家中有控制和被控制的关系, 形成了一颗树. 比如: 国家C被国家B控制, 国 ...

  2. 腾讯机试题 AcWing 603 打怪兽

    题目链接:https://www.acwing.com/problem/content/605/ 题目大意: 略 分析: 用dp[i][j]表示用j元钱能在前i只怪兽上所能贿赂到的最大武力值. 有一种 ...

  3. poj3345 Bribing FIPA【树形DP】【背包】

    Bribing FIPA Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5910   Accepted: 1850 Desc ...

  4. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  5. 百度定位一直出现4.9E -324的问题解决方法

    问题:华为mate10一直在申请百度定位的时候出现此问题并且定位权限和定位服务都打开的情况也是返回这个参数 明显没有定位成功,其他手机暂时没有出现(只要打开定位权限就会立即定位成功) 解决:在定位之前 ...

  6. loadrunner场景报错:Error: CCI compilation error -/tmp/brr_5d65oV/netdir/E/\320\324/Action.c (318): undeclared identifier `LAST'解决思路

    在windows下写的脚本编译通过 但是拿到linux agent场景执行中就会提示如下,同样的脚本在windows agent下没有任何问题 agent连的是linux负载机 通过脚本一行一行排查, ...

  7. leetcode 280.Wiggle Sort 、324. Wiggle Sort II

    Wiggle Sort: 注意:解法一是每次i增加2,题目不是保证3个3个的情况,而是整个数组都要满足要求. 解法一错误版本: 如果nums的长度是4,这种情况下nums[i+1]会越界.但是如果你用 ...

  8. AcWing 143. 最大异或对

    https://www.acwing.com/problem/content/145 #include <iostream> #include <algorithm> usin ...

  9. AcWing 153. 双栈排序

    https://www.acwing.com/problem/content/155/ #include <cstring> #include <iostream> #incl ...

随机推荐

  1. redis重点ppt

  2. 极客mysql16

    1.MySQL会为每个线程分配一个内存(sort_buffer)用于排序该内存大小为sort_buffer_size 1>如果排序的数据量小于sort_buffer_size,排序将会在内存中完 ...

  3. transformer多头注意力的不同框架实现(tensorflow+pytorch)

    多头注意力可以用以下一张图描述: 1.使用pytorch自带的库的实现 torch.nn.MultiheadAttention(embed_dim, num_heads, dropout=0.0, b ...

  4. CSS opacity设置不透明度

    1.opacity设置不透明度 opacity会将含有这个属性的子类都变成具有opacity属性,可以改变元素.元素内容.字标签的不透明度.而rgba只会改变设置的那个背景颜色的透明度效果 <! ...

  5. python分类

    python是一种动态解释性的强类型语言. python下分几个类别,分别是cpython,jypython,ironpython,pypy等等,这些属于不同的解释器,但编写规范只有一个就是pytho ...

  6. Collectors工具类

    Collector是专门用来作为Stream的collect方法的参数的:而Collectors是作为生产具体Collector的工具类. Collectors是一个工具类,是JDK预实现Collec ...

  7. kali 系列学习03 - 主动扫描

    主动扫描首先考虑使用代理IP保护自己,其次掌握 Nmap 工具使用 第一部分 扫描对方时,最好隐藏一下自己root@kali:/etc# service tor statusUnit tor.serv ...

  8. leetcode117. 填充每个节点的下一个右侧节点指针 II

    给定一个二叉树struct Node {  int val;  Node *left;  Node *right;  Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节 ...

  9. 接上一篇:(三) Spring环境搭建

    3.1.获取 Spring framework jar 包 (一) spring官网下载 (二)spring的核心包 (三) 配置 XML 1. 新建立一个 xml.名字任意,如 applicatio ...

  10. selenium如何处理H5视频

    selenium处理H5视频主要使用的是javascript,javascript函数有内置的对象叫arguments,arguments包含了调用的参数组,[0]代表取第一个值. currentSr ...