首页 > 其他分享 >B. BerSU Ball

B. BerSU Ball

时间:2023-12-02 14:55:58浏览次数:41  
标签:begin Ball end int vector BerSU dp

B. BerSU Ball

排序后考虑\(dp\),\(dp_{i,j}\)表示前\(i\)个男生和前\(j\)个女生能匹配的最大数.

\[\begin{aligned} if(|a_i - b_j| \le 1) \ dp_{i,j} = dp_{i-1,j-1} + 1 \\ else \ \ \ \ \ \ \ \ dp_{i,j}=\max(dp_{i-1,j},dp_{i,j-1}) \end{aligned} \]

#include <bits/stdc++.h>
#define debug(a) cout<<#a<<"="<<a<<'\n';

using namespace std;
using i64 = long long;

typedef pair<i64, i64> PII;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n, m;
	cin >> n ;
	vector<int> a(n + 1);
	for (int i = 1; i <= n; i ++ )
		cin >> a[i];
	cin >> m;
	vector<int> b(m + 1);
	for (int j = 1; j <= m; j ++)
		cin >> b[j];

	sort(a.begin() + 1, a.end());
	sort(b.begin() + 1, b.end());
	vector dp(n + 1, vector<int>(m + 1));
	for (int i = 1; i <= n; i ++) {
		for (int j = 1; j <= m; j ++) {
			if (abs(a[i] - b[j]) <= 1)
				dp[i][j] = dp[i - 1][j - 1] + 1;
			else
				dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
		}
	}

	cout << dp[n][m] << '\n';

	return 0;
}

标签:begin,Ball,end,int,vector,BerSU,dp
From: https://www.cnblogs.com/Kescholar/p/17871592.html

相关文章

  • 新疆的巴郎子们你们好!yahximu balla!بلوگ ئوينىساق بولاتتى
    توربەتلەرنىبلوگلارنىئىزدەپبىرنىمۇتاپالمىدىم،كىشىلەرشۇنچىۋالالاتوربەتكەبلوگقاقىزىقماسبوپكەتكەنمىدۇ؟بۇھەقتەبىرەرنەرسەيازاي......
  • [Codeforces] CF1475C Ball in Berland
    BallinBerland-洛谷题意在毕业典礼上,有\(a\)个男孩和\(b\)个女孩准备跳舞,不是所有的男孩和女孩都准备结伴跳舞。现在你知道\(k\)个可能的舞伴,你需要选择其中的两对,以便使没有人重复地出现在舞伴里,求可能的数量。思路暴力最朴素,也是简单的方法,就是通过暴力组合进行配对。......
  • CF1475C Ball in Berland
    CF1475CBallinBerlandBallinBerland-洛谷题意在毕业典礼上,有\(a\)个男孩和\(b\)个女孩准备跳舞,不是所有的男孩和女孩都准备结伴跳舞。现在你知道\(k\)个可能的舞伴,你需要选择其中的两对,以便使没有人重复地出现在舞伴里,求可能的数量。思路暴力最朴素,也是简单的方法,就......
  • [Codeforces] CF1475C Ball in Berland 题解
    BallinBerland-洛谷题意在毕业典礼上,有​个男孩和​个女孩准备跳舞,不是所有的男孩和女孩都准备结伴跳舞。现在你知道​个可能的舞伴,你需要选择其中的两对,以便使没有人重复地出现在舞伴里,求可能的数量。思路暴力最朴素,也是简单的方法,就是通过暴力组合进行配对。#include......
  • CodeForces 1060G Balls and Pockets
    洛谷传送门CF传送门NOIP模拟赛T2。很厉害的题。想象数轴上\(a_1,a_2,\ldots,a_n\)位置上各有一个洞,每个非负整数位置上有一个点。每次操作相当于,对于每个点,如果它刚好位于一个洞,那么它会掉进去;否则设它的位置为\(p\),位置在它前面的洞有\(t\)个,那么这个点的位置变成......
  • 「解题报告」[AGC007C] Pushing Balls
    非常高级的题,但是感觉官方题解的做法和洛谷大部分题解的做法都并不很能说服我,感觉根据规律发现期望序列还是等差数列有点扯了。但是zhylj的题解的做法感觉很强啊,但是他题解后面的推导感觉好像有点问题。所以整出来这样一个做法,感觉还是很清楚的。首先我们可以考虑将原问题转化......
  • Educational Codeforces Round 151 (Rated for Div. 2)E. Boxes and Balls(数学,动态规
    题目链接:https://codeforces.com/contest/1845/problem/E 题意: 给定长度为n且只含0和1的数组,你可以进行以下操作: 交换相邻的0和1; 给正整数k,问经过k次操作后,会有多少种本质不同的结果; 分析: 如果1比0多,我们可以把他们取反(让0比1多,结果是一样的) 设计状态dp[i][j......
  • [AGC002F] Leftmost Ball 题解
    很好的一道组合题。思路直接设\(dp_{i,j}\)表示已经放了\(i\)个白点与\(j\)中颜色。然后直接组合数算即可。CodeAC记录。......
  • IfcGloballyUniqueId
    IfcGloballyUniqueId类型定义IfcGloballyUniqueId包含用于唯一标识IFC对象的编码字符串标识符。IfcGloballyUniqueId是一个全局唯一标识符(GUID),它是一个自动生成的128位数字。由于所有IFC对象实例都需要此标识符,因此需要对其进行压缩以减少开销。基本64个字符集的编码如下所示: ......
  • 题解 P7971【[KSN2021] Colouring Balls】
    postedon2022-10-0819:07:28|under题解|sourceproblem交互库有一个长为\(n\)的颜色序列,你可以询问区间\([l,r]\)中有多少种颜色,最后还原交互库手中的序列,只需要保持相对顺序不变。\(n\leq10^3\),最多询问次数\(Q=2000\)或\(Q=10^4\)。solution令\(C\)为\([1......