首页 > 其他分享 >RuCode 2020 Division A+B. I ✖ [PR #5] 和平共处

RuCode 2020 Division A+B. I ✖ [PR #5] 和平共处

时间:2023-11-30 21:22:46浏览次数:45  
标签:PR Division include int lim ++ 2020 二分

前言

认认真真学习了一下这道题相关的做法以及有关的二分图网络流理论,感觉自己又刷新了一些东西的理解。

所以说我们就从普通的二分图匹配开始吧!

二分图匹配

众所周知,二分图最大匹配可以用网络流 Dinic 算法做到 \(O(m\sqrt n)\) 的复杂度。

在某些特定的图下,我们有一种“贪心流”算法。

由于 zhy 喜欢反反复复提到这个东西,所以在平时我也会经常去有限考虑某道题目能否转化成贪心流问题

再探柯尼希定理

本题题意

给定

#include <map>
#include <cstdio>
#include <algorithm>
using namespace std;
int read(){/*...*/}
const int N=200003;
int n,m;
struct Pos{
	int x,y,id;
	friend bool operator<(const Pos a,const Pos b){
		if(a.x!=b.x) return a.x<b.x;
		if(a.y!=b.y) return a.y<b.y;
		return a.id<b.id;
	}
}s[N],sl[N],sr[N];
int res[N],mat[N];
void solve(int vl,int vr,int l,int r,int cur){
	if(vl>vr) return;
	int mid=(vl+vr)>>1;
	multimap<int,int> mp;
	for(int i=r;i>=l;--i)
		if(s[i].id){
			if(s[i].id<=mid) mp.emplace(s[i].y,i);
		}
		else{
			auto it=mp.lower_bound(s[i].y);
			if(it==mp.end()){mat[i]=0;continue;}
			mat[i]=it->second;
			mp.erase(it);
		}
	int lef=0,nl=0;
	int rig=0,nr=0;
	int lim=0x3f3f3f3f;
	for(int i=l;i<=r;++i){
		if(s[i].id){
			if(s[i].id<=mid&&s[i].y<lim) sl[++nl]=s[i],++lef;
			else sr[++nr]=s[i];
		}
		else{
			if(!mat[i]||s[mat[i]].y>=lim) lim=min(lim,s[i].y);
			if(s[i].y>=lim) sr[++nr]=s[i],++rig;
			else sl[++nl]=s[i];
		}
	}
	for(int i=1;i<=nl;++i) s[l+i-1]=sl[i];
	for(int i=1;i<=nr;++i) s[l+nl+i-1]=sr[i];
	res[mid]=lef+rig+cur;
	solve(vl,mid-1,l,l+nl-1,cur+rig);
	solve(mid+1,vr,r-nr+1,r,cur+lef);
}
int main(){
	n=read();
	for(int i=1;i<=n;++i){s[i].x=read();s[i].y=read();s[i].id=0;}
	m=read();
	for(int i=1;i<=m;++i){s[i+n].x=read();s[i+n].y=read();s[i+n].id=i;}
	sort(s+1,s+n+m+1);
	solve(1,m,1,n+m,0);
	for(int i=1;i<=m;++i) printf("%d\n",n+i-res[i]);
	return 0;
}

标签:PR,Division,include,int,lim,++,2020,二分
From: https://www.cnblogs.com/yyyyxh/p/ants.html

相关文章

  • RLHF · PBRL | B-Pref:生成多样非理性 preference,建立 PBRL benchmark
    论文题目:B-Pref:BenchmarkingPreference-BasedReinforcementLearning,2021NeurIPSTrackDatasetsandBenchmarks,778。openreview:https://openreview.net/forum?id=ps95-mkHF_pdf版本:https://arxiv.org/pdf/2111.03026.pdfhtml版本:https://ar5iv.labs.arxiv.org/ht......
  • SSM SpringBoot vue考勤信息管理系统
    SSMSpringBootvue考勤信息管理系统系统功能登录注册个人中心部门信息管理上班时间管理考勤信息管理员工信息管理签到管理请假信息管理加班申请管理出差申请管理开发环境和技术开发语言:Java使用框架:SSM(Spring+SpringMVC+Mybaits)或SpringBoot前端:v......
  • 在eclipse中拖动项目到Tomcat服务器中报错:Project facet Java version 16 is not supp
    ......
  • [AGC052C] Nondivisible Prefix Sums 题解
    题目链接点击打开链接题目解法好题!一个序列是不合法的,必定满足某些结论,我们不妨猜测一下首先如果和为\(P\)的倍数,必定不合法然后手玩几个可以发现,最极限的情况是\(P-1\)个\(1\;+\;\)\(b_i\;+\;\)\(P-b_i\)如果在这个情况下再加一个\(1\),就爆了其中\(1\)可以替......
  • Spring Security鉴权注解
    一、JSR250规范注解需要通过以下方式来开启JSR250注解的识别@EnableMethodSecurity(jsr250Enabled=true)//默认为false以下的注解都在jakarta.annotation.security包下RolesAllowed:允许指定的角色访问DenyAll:拒绝所有的访问PermitAll:放开所有的访问这几个注解都是通过Authoriza......
  • Spring Boot 控制台日志打印颜色表
    //ResetpublicstaticfinalStringRESET="\033[0m";//TextReset//RegularColorspublicstaticfinalStringWHITE="\033[0;30m";//WHITEpublicstaticfinalStringRED="\033[0;31m";//......
  • 如何在Spring Boot中不启动Web Server
    XYHS:用方法4,spring.main.web-application-type=none,实测可行如何在SpringBoot中不启动WebServer1.介绍SpringBoot是一个用于为各种应用快速创建新的Java应用程序的优秀框架。最流行的用途之一是作为web服务器。但是,SpringBoot有许多不需要web服务器的场景:控制台应用程序、作......
  • SpringBoot Resolved [org.springframework.web.multipart.support.MissingServletRe
    SpringBootResolved[org.springframework.web.multipart.support.MissingServletRequestPartException:Requiredrequestpart'file'isnotpresent]IDEA报错信息这个错误主要主要是指后端通过@RequestParam("file")注解标注的MultipartFile参数并没有获取到文件参数为n......
  • 基于centos 7 +grafana-enterprise-8.4.2+influxdb2_2.7.4-1+jmeter-5.6.2的企业级压
    耗时2.5天平台搭建完成,在此记录一下,分享给同样苦逼的IT人。一.查看系统信息与位数[root@bj01-saas-stresstest-prod01~]#uname-aLinuxbj01-saas-stresstest-prod016.1.11-2302.1.1#1SMPPREEMPT_DYNAMICThuApr615:52:39CST2023x86_64GNU/Linux得到系统环境......
  • SpringBoot集成hutool配置定时任务,支持crontab和quartz表达式
    1、pom.xml引入hutool<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>修改version</version></dependency>2、Java文件packagecom.xxx.schedule;importcn.hutool.cron.CronUtil......