F.Cards with Numbers】的更多相关文章

链接:https://ac.nowcoder.com/acm/contest/908/F 题意: AFei has many cards. Each card has a number written on it. Now he wants to takes some out of his card and puts them in a box. And he wants to know whether the card with the number x was in the box. So…
F - Cards and Joy 思路:比较容易想到dp,直接dp感觉有点难,我们发现对于每一种数字要处理的情况都相同就是有 i 张牌 要给 j 个人分, 那么我们定义dp[ i ][ j ]表示 i 张牌给 j 个人分最大的价值可以得到dp方程如下: dp[ i ][ j ] = max(dp[ i - u ][ j - 1 ] + f[ u ] )   u <= k 暴力转移就好了. #include<bits/stdc++.h> #define LL long long #def…
F. Cards and Joy 题目大意: 给你n个人,每一个人恰好选k张牌. 第一行是 n 和 k 第二行有n*k个数,代表有n*k张牌,每张牌上的数字 第三行有n个数,代表第i个人喜欢的数字 第四行有k个数,代表有如果一个人可以拿到 i 张喜欢的牌,那么快乐值+h[i] 然后就是让你分配这些牌来找最大的欢乐值. 这个题目仔细想想就知道,因为这个h数组是递增的,所以我们就是要尽量把这个人喜欢的牌分配给她. 如果一种牌喜欢的人只有一个,那就把这个类型都给她,但是如果有很多人喜欢一样的牌,那就要…
原题链接:F - Cards (atcoder.jp) 题意: 给定N张牌,每张牌正反面各有一个数,所有牌的正面.反面分别构成大小为N的排列P,Q. 求有多少种摆放方式,使得N张牌朝上的数字构成一个1~N的排列. 思路:dp + 并查集 建图:有1~N的顶点,然后Pi跟Qi连一条边. 因为给定的是两个排列,所以每个点的度数为2,因而建出的图必然是由几个独立的环构成. 根据乘法原理,答案就等于每个环的方案数相乘. 求每个环的方案数: 假设环的大小为n(点的数量),dp[n]表示这样的环的方案数:d…
题目连接:http://codeforces.com/contest/999/problem/F 解题心得: 题意说的很复杂,就是n个人玩游戏,每个人可以得到k张卡片,每个卡片上有一个数字,每个人有一个喜欢的数字,每一个玩游戏的人如果有不同数量自己喜欢的卡片就有不同的欢乐值.问怎样分配使欢乐值最大. 就是一个组合背包的问题,dp[i][j]代表有i个人,j张喜欢的卡片,得到的总欢乐值最大是多少.在转移的过程中只需要枚举第i个人有几张自己最喜欢的卡片就可以了. 转移方程式dp[i][j] = ma…
Content 有 \(2n\) 个数,让你找出两两相等的 \(n\) 对数的编号,或者方案不存在. 数据范围:\(1\leqslant n\leqslant 3\times 10^5,1\leqslant a_i\leqslant 5000\). Solution 这题目还是挺好做的. 首先边读入边记录,如果一个数出现在前或者从未出现过,记录下来,并找后面有没有相等的数,有的话记录答案并将所有的记录清除(就相当于你找到了相等的一对数,在开始继续找时就会被认为没有出现过),如果不是恰好 \(n\…
A. Bear and Five Cards time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A little bear Limak plays a game. He has five cards. There is one number written on each card. Each number is a posit…
There are nn players sitting at the card table. Each player has a favorite number. The favorite number of the jj-th player is fjfj. There are k⋅nk⋅n cards on the table. Each card contains a single integer: the ii-th card contains number cici. Also, y…
uva10392 Factoring Large Numbers 本文涉及的知识点是,使用线性筛选法得到素数表. Table of Contents 1 题目 2 思路 3 参考 1 题目 ==================== Problem F: Factoring Large Numbers One of the central ideas behind much cryptography is that factoring large numbers is computationall…
#include<iostream> #include<cstring> #include<cstdio> #include<vector> #include<queue> using namespace std; #define ll long long #define maxn 100050 int ok(ll n){ *;i<=n;i++){ ll sum = ,tmp = i; while(tmp){ sum += tmp%; tm…