社区讨论
闻灌多求调
灌水区参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m2h554pm
- 此快照首次捕获于
- 2024/10/20 13:22 去年
- 此快照最后确认于
- 2025/11/04 16:44 4 个月前
主要是这个题不是洛谷的:
球球了dalao,我想不出来,我是傻
球球了dalao,我想不出来,我是
题目描述
阿瓦猫所居住的幻想世界有若干个幻想王国,每个幻想王国都拥有恰好两座幻想城市,这些城市都是刚刚修
建好的。所以其中的道路还不是很完善,刚开始一条路都没有。
幻想世界被一条长长的幻想河分割成南北两个部分,其中一共有 n 个幻想王国。每个幻想王国在北面和南面
各有一座城市,但是他们的相对位置可能并不是简单的按顺序排布。具体地来说,在幻想世界的北面,从西到东
有 n 座城市,分别属于幻想王国 A1, A2...An。在幻想世界的南面,从西到东也有 n 座城市,分别属于幻想王国
B1, B2...Bn。根据上面的规定,显然 A 与 B 都是 1 到 n 的一个排列。因为每一个王国的编号都会且只会在南、北
面出现一次。
幻想世界的主宰者阿卡大手一挥,在每个幻想王国的两座城市间修建了一条道路。这些修建起的道路之间可
能会相交,相交就会带来两座王国间的友好往来。如果两个王国的道路有相交,我们就称这两个王国是友好的。
现在阿瓦想要知道,如果她想要在所有的 n 个幻想王国中找出一些王国,使得这些王国中每两个王国间都是
友好的,这样的话最多能找出多少个王国。即,她想要知道,当王国集合 S 满足其中的任意两个元素所代表的王
国都是友好的时,集合 S 的大小最大是多少。
输入格式
第一行一个数 n,表示幻想王国的个数。
第二行 n 个数,第 i 个数 Ai 表示在幻想世界北面的 n 个城市来自的王国。
第三行 n 个数,第 i 个数 Bi 表示在幻想世界南面的 n 个城市来自的王国。
输出格式
一行一个数,表示最多能选出的王国个数。
入
4
1 4 3 2
4 1 2 3
出
2
数据范围
对于 30W 的数据,n ≤ 10。
对于 70W 的数据,n ≤ 103。
对于 100W 的数据,n ≤ 105。
我的三十分代码
CPP#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100001],b[100001];
signed main(){
freopen("kingdom.in","r",stdin);
freopen("kingdom.out","w",stdout);
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin >> n;
for (int i = 1;i <= n;i++) cin >> a[i];
for (int i = 1;i <= n;i++){
int x;cin >> x;
b[x]++;
}
long long ans = 0;
for (int i = 1;i <= n;i++) if (b[a[i]]) ans++;
cout << ans / 2 << "\n";
return 0;
}
球球了,QAQ
回复
共 2 条回复,欢迎继续交流。
正在加载回复...