首页 > 其他分享 >Educational Codeforces Round 113

Educational Codeforces Round 113

时间:2023-09-02 15:55:39浏览次数:37  
标签:node map Educational int ll Codeforces 113 include define

稳定发挥4题
A题文件输出没去掉WA了一发
B题特殊情况没判到,WA了好几发,中间还交到D题去了
C题简单判断一下无解,然后组合数求一下就行
D题其实也挺简单的,考虑严格夹在两条竖线之间的点(不包括边界),如果它们不是在同一水平线上,则必然大于Manhattan距离,而且两个点对之间要么是x方向走多了,要么是y方向走多了,不会出现重叠的情况,扫两遍即可。

怎么cf这么喜欢卡unorder_map,两天都是这样
换成map就A了

#include<algorithm>
#include<cstdio>
#include<cstring>
#include<vector>
#include<queue>
#include<cmath>
#include<map>
#include<iostream>
#include<unordered_map>
#define fo(i,a,b) for (int (i)=(a);(i)<=(b);(i)++)
#define fd(i,b,a) for (int (i)=(b);(i)>=(a);(i)--)
#define mk(x,y) make_pair((x),(y))
#define A puts("YES")
#define B puts("NO")

using namespace std;
typedef double db;
typedef long long ll; //
const int N=1e6+5;
const ll mo=998244353;
struct node{
	int x,y,op;
};
node a[N];
int x[N],y[N],n,m,k,xx[N],yy[N],tot;
map<int,int> f;
ll ans;
bool cmp(node a,node b){
	if (a.x!=b.x) return a.x<b.x;
	return a.op<b.op;
}
void solve(){
	ll s=0;
	int bo=0;
	f.clear();
	
	fo(i,1,tot) {
		if (a[i].op==1) {
			bo=a[i].x;
			f.clear();
			s=0;
		}
		else{
			if (a[i].x==bo) continue;
			ans+=s;
			if (f.find(a[i].y)!=f.end()) ans-=(ll)f[a[i].y];
			f[a[i].y]++;
			s++;
		}
	}
}
int main() {
	
//	freopen("data.in","r",stdin);
//	freopen("data.out","w",stdout);

	
	int T;
	scanf("%d",&T);
	while (T--){
		ans=0;

		scanf("%d %d %d",&n,&m,&k);
		fo(i,1,n) scanf("%d",&x[i]);
		fo(i,1,m) scanf("%d",&y[i]);
		
		fo(i,1,k) {
			scanf("%d %d",&xx[i],&yy[i]);
		}
		
		tot=0;
		fo(i,1,n) a[++tot]=(node){x[i],0,1};
		fo(i,1,k) a[++tot]=(node){xx[i],yy[i],2};
		sort(a+1,a+tot+1,cmp);
		
		solve();
		
		tot=0;
		fo(i,1,m) a[++tot]=(node){y[i],0,1};
		fo(i,1,k) a[++tot]=(node){yy[i],xx[i],2};
		sort(a+1,a+tot+1,cmp);
	
		solve();
		
		printf("%lld\n",ans);


	}
	return 0;
} 
 
  


标签:node,map,Educational,int,ll,Codeforces,113,include,define
From: https://www.cnblogs.com/ganking/p/17673773.html

相关文章

  • Educational Codeforces Round 154 (Rated for Div. 2)
    感觉edu的题目都比较有新意;A.PrimeDeletion题意:给定长度为9的数,且1-9每个数字出现一次,求按照原定顺序选几个数组成的质数(起码选择两个);下意识写了一个dfs,过了;1#include<bits/stdc++.h>2usingnamespacestd;3intread(){4charch=getchar();intx=0,f=1;5......
  • Educational Codeforces Round 123
    A.DoorsandKeys#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){strings;cin>>s;map<char,int>pos;for(inti=0;i<6;i++)pos[s[i]]=i;if(pos['r&......
  • Educational Codeforces Round 15 A - E
    EducationalCodeforcesRound15目录EducationalCodeforcesRound15A-MaximumIncreaseB-PowersofTwoC-CellularNetworkD-RoadtoPostOfficeE.AnalysisofPathesinFunctionalGraphA-MaximumIncrease一段上升子数组\([l,r]\)最大化\(r-l+1\),我们......
  • Educational Codeforces Round 5 A-E
    EducationalCodeforcesRound5垫底咯,中间老师找我去聊了下新学期的机房借用和训练,但出去前就只有我没出E目录EducationalCodeforcesRound5AComparingTwoLongIntegersBDinnerwithEmmaCTheLabyrinthDLongestk-GoodSegmentE-SumofRemaindersAComparingTwo......
  • Educational Codeforces Round 148 (Rated for Div. 2)E. Combinatorics Problem(组合
    题目链接:https://codeforces.com/contest/1832/problem/E 题意:  当然这是化简后的题意,原题面和这个差距还是有点大的; 分析: 因为组合数有公式:  所以:   嗯,然后就没有了; 时间复杂度:O(n*k); 代码: #include<bits/stdc++.h>#defineintlonglong......
  • Educational Codeforces Round 118
    好烦,又是只有三题,讲课的老师实在是太吵了,没法思考细节A题开始还搞麻烦了B题纯诈骗,找最小的做y即可C题直接二分判断即可D题其实没看多久我就秒了,对于当前的数x来说无非就是mex=x-1mex=xmex=x+1\(f[x]\)表示mex=x,后面没有数\(g[x]\)表示mex=x,后面有x+1,并且只可能是x+1,不可......
  • Codeforces Round 888 (Div. 3)G. Vlad and the Mountains(数据结构,图论)
    题目链接:https://codeforces.com/contest/1851/problem/G 大致题意: 给出n个点m条边的无向图,每个点有点权h【i】。从点i到点j会消耗h【j】-h【i】的能量,如果小于0,那么就是恢复对应绝对值的能量。 进行q次询问,每次询问包含起点s,终点t,能量e,能量在移动过程中不能小......
  • Codeforces Round 887 (Div. 1)C. Ina of the Mountain(数据结构,反悔贪心)
    题目链接:https://codeforces.com/problemset/problem/1852/C 题意: 给定一个长度为n的序列和正整数k; 每次可以选取任意一个区间,将区间内每个数减1; 如果出现一个数变成0,那么那个数变成k; 问至少操作多少次可以使得每个数变成k; 分析: 将每个数值抽象为对应高度的......
  • Codeforces Round 892 (Div. 2)E. Maximum Monogonosity(动态规划,数学)
    题目链接:https://codeforces.com/contest/1859/problem/E 题意: 有长度为n的a和b俩个序列,定义f【l,r】=abs(a【l】-b【r】)+abs(b【l】-a【r】); 给正整数k,求 不相交的区间且  所有  区间的长度 的 和 为k的最大值 是多少? 分析: 这里借鉴一个佬......
  • 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......