题解-CF1444C Team-Building】的更多相关文章

4742: [Usaco2016 Dec]Team Building Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 21  Solved: 16[Submit][Status][Discuss] Description Every year, Farmer John brings his NN cows to compete for "best in show" at the state fair. His arch -rival, F…
CF1316E [Team Building] 状压dp,感觉比D简单 \(f[i][s]\),表示考虑前\(i\)个人,状态为\(s\)(\(s\)的第\(j-1\)个二进制位表示队员的第\(j\)个位置有没有人)的最大价值 考虑如何转移   如果不让第\(i\)个人当队员 如果当前已选为观众的人不足\(k\)个,则一定让它当观众,那么\(f[i][s]\)由\(f[i-1][s]+a_i\)转移来,不过这样做的前提是要先把这\(i\)个人按照他们当观众时的价值排序,从而如果当前观众不到\(k…
题面 CF1444C Team-Building 给 \(n\) 个点 \(m\) 条边,每个点有颜色 \(c_i(1\le c_i\le k)\),求有多少个颜色对两组点并后是二分图. 数据范围:\(1\le n,m,k\le 5\cdot 10^5\). 蒟蒻语 听人说是可撤销并查集后弃疗了,打出正解了没打完,其实普通并查集(权值并查集套权值并查集)就够了. 因为前面好多法师塔,只下了 \(7\) 分. 题解 看到判断二分图想到黑白染色.但是不想 dfs,怎么办? 有两种办法:拆点并查集和路…
To make competitive programmers of BUBT, authority decide to take regular programming contest. To make this contest more competitive and fruitful there are some rules given to balance a team:1. Only 1st , 2nd and 3rd year student can participate. 2.…
CF932E Team Work 你现在手里有\(n\)个人,你要选出若干个人来搞事情(不能不选),其中选择\(x\)个人出来的代价是\(x^k\),问所有方案的代价总和. 数据范围:\(1\le n \le 10^9,1\le k \le 5000\) 英语不好qwq...题目应该是这个意思吧 一句话题意:求 \[ \sum\limits_{i=1}^n \binom{n}{i}i^k \] 哇...这东西怎么算啊... 注意到\(k\)很小,把\(i^k\)用第二类斯特林数代替一下 \[ \…
如果我们将两个人拥有的牛混在一起,并按照战斗力从小到大排序,同时把第一个人选的牛看成$)$,第二个人选的牛看成$($的话,那么我们会发现一个合法的方案对应了一个长度为$2k$的括号序列. 于是DP即可,$f[i][j][k]$表示考虑了前$i$头牛,目前选了$j$个左括号,括号序列的前缀和为$k$的方案数. 时间复杂度$O(nk^2)$. #include<cstdio> #include<algorithm> const int N=2010,M=13,P=1000000009;…
1742 最小的是找联通块数 最大的找环 一个环算一个 其它的数各算一个 #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<stdlib.h> #include<vector> using namespace std; #define N 100010 int fa[N],vis[N]; int minz,maxz,d…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4742 [算法] 动态规划 用Fi,j,k表示约翰的前i头牛和保罗的前j头牛匹配 , 共选了k头 , 有多少种方案 转移详见代码 时间复杂度 : O(N ^ 2K) [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 1010 #define MAXT 12 ; int n , m , t; int a[MA…
决定从头到尾干一波BZOJ!可能会写没几题就停下吧,但还是想学学新姿势啦. 1001. [BeiJing2006]狼抓兔子 即求 $(1, 1)$ 到 $(n, m)$ 的最小割.跑 dinic 即可. #include <bits/stdc++.h> using namespace std; inline int read() { , f = ; char ch = getchar(); ; ch = getchar(); } + ch - ; ch = getchar(); } retur…
  记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序   1326D2 - Prefix-Suffix Palindrome (Hard version) 题意: 给出一个串 s, |s| ≤ 1e6, 要求选出一个前缀和一个后缀(不相交, 可以为空), 使得它们连接后是一个回文串. 求最长的回文串. 思路: 马拉车处理半径数组, 用前缀, 后缀, 半径与相同的前后缀相交的情况更新答案. view code #include <bits/stdc++…