首页 > 其他分享 >2024/7/8 笔记

2024/7/8 笔记

时间:2024-07-08 21:20:16浏览次数:16  
标签:10 gcd int qa ll 笔记 2024 qb

CF1656H
https://www.luogu.com.cn/problem/CF1656H
参考DaiRuiChen007的题解:

code:

using namespace std;
#define ll __int128_t
const int maxn = 1e3+10;
ll gcd(ll a,ll b){
	return b?gcd(b,a%b):a;
}
const int N = 1024,N2 = N<<2;
struct stree{
	
	ll tree[N2];
	ll ls(int x){
		return x<<1;
	}
	ll rs(int x){
		return x<<1|1;
	}
	void init(){
		for(int i = 0;i < N2;i++){
			tree[i] = 0;
		}
	}
	void update(int x,ll v){
		for(tree[x+=N]=v,x>>=1;x;x>>=1){
			tree[x]=gcd(tree[x<<1],tree[x<<1|1]);
		}
	}  
	ll query() { return tree[1]; }
};//线段树 
const int maxb = 2e6+1e5;
char buf[maxb],*p1 = buf,*p2 = buf;
stree A[maxn],B[maxn];
ll a[maxn],b[maxn];
int n,m;
inline ll read() {
	ll x=0; char c=getchar();
	while(!isdigit(c)) c=getchar();
	while(isdigit(c)) x=x*10+(c^48),c=getchar();
	return x;
}
inline void write(ll x) {
	if(x>=10) write(x/10);
	putchar((x%10)^48);
}
void run(){
	cin>>n>>m;
	vector <int> qa,qb;
	for(int i = 1;i <= n;i++){
		//cin>>a[i];
		a[i] = read();
		qa.push_back(i);
		A[i].init();
	}
	for(int i = 1;i <= m;i++){
		//in>>b[i];
		b[i] = read();
		qb.push_back(i);
		B[i].init();
	}
	for(int i = 1;i <= n;i++){
		for(int j = 1;j <= m;j++){
			A[i].update(j,a[i]/gcd(a[i],b[j]));
			B[j].update(i,b[j]/gcd(a[i],b[j]));
		}
	}
	while(!qa.empty()&&!qb.empty()){
		for(auto it=qa.begin();it!=qa.end();++it){
			if(A[*it].query()>1) {
				for(int z:qb) B[z].update(*it,0);
				qa.erase(it);
				goto no;
			}//mythware_super_password
		}
		for(auto it=qb.begin();it!=qb.end();++it){
			if(B[*it].query()>1) {
				for(int z:qa) A[z].update(*it,0);
				qb.erase(it);
				goto no;
			}	
		}
		cout<<"YES"<<endl;
		cout<<(int)qa.size()<<" "<<(int)qb.size()<<endl;
		for(int i:qa){
			write(a[i]);
			cout<<" ";
		}//cout<<a[i]<<" ";
		cout<<endl;
		for(int i:qb){
			write(b[i]);
			cout<<" ";
		}//cout<<b[i]<<" ";
		cout<<endl;
		return;
		no:;
	}
	cout<<"NO"<<endl;
}
int main(){
	int t;
	cin>>t;
	while(t--) run();
	return 0;
}

T2

CF1209G2
https://www.luogu.com.cn/problem/CF1209G2
考虑每个颜色最左边出现的位置为L ,最右边的位置为R ,使用一数组c,对于每个颜色, 在L,R(左闭右开)区间内将c的每一个值+1;
最后结果如下:
a: 1 2 1 2 1 3 4 3 4 5
b: 1 2 2 1 0 1 2 1 0 0
很容易发现 ,每两个0之间都有一独立段,这个段中出现次数最多的ai就是要保留的,其余a中的元素需要更改, 最后统计结果;
考虑使用线段树维护a中区间最大值,b区间最小值,左边一段不含bi最小值的段中ai的最大值Lmx以及Rmx

第一次独立写这么难的题( 前前后后算是参考了不知道多少篇题解再结合上课讲的才勉强把思路理清

标签:10,gcd,int,qa,ll,笔记,2024,qb
From: https://www.cnblogs.com/Kang-shifu/p/18290712

相关文章

  • 国开大学2024《电子商务法律与法规(统设课)》
    一、单选题1.2017年8月18日()挂牌成立,这是全国第一家集中审理涉网案件的试点法院。A.北京互联网法院B.广州互联网法院C.杭州互联网法院D.上海互联网法院答案:C2.电子合同是平等主体之间以()的形式达成的,设立、变更、终止民事权利义务关系的协议。A.电子签名B.数......
  • YC311A [ 20240701 CQYC省选模拟赛 T1 ] 好串(good)
    题意给定一个长度为\(n\)的\(01\)串。定义一个串是好的当且仅当该串的所有前缀以及所有后缀的\(1\)的数量大于等于\(0\)的数量。你需要维护\(q\)个查询,每次求\(S_{l,...,r}\)的子串最少添加的\(1\)的个数使得该子串是好的。Sol首先不难发现一个正确的贪心,也......
  • 【操作系统】进程管理——进程的同步与互斥(个人笔记)
    学习日期:2024.7.8内容摘要:进程同步/互斥的概念和意义,基于软/硬件的实现方法进程同步与互斥的概念和意义为什么要有进程同步机制?回顾:在《进程管理》第一章中,我们学习了进程具有异步性的特征,即各个并发执行的进程以各自独立、不可预知的速度向前推进。但是,有的情况下,我们希......
  • 北京一零一中2024年信息学迎新马拉松解题报告
    AT469715[2024迎新马拉松]101相当于选择一段长度为\(3k\)的区间使得变化的总值最小。维护每一个元素变化到\(1\)与\(0\)的要求数量,之后前缀和处理即可。#include<bits/stdc++.h>#defineendl"\n"usingnamespacestd;typedeflonglongll;constllMAXN=1e6+5;......
  • Altair携手奇瑞汽车,荣获2024世界人工智能大会“AI赋能新型工业化创新应用优秀案例”
    2024年7月4-7日,2024世界人工智能大会(WAIC)在上海世博中心成功举办。4日下午,“AI赋工业,数智启未来—人工智能赋能新型工业化主题论坛”在上海世博中心召开。Altair携手奇瑞汽车股份有限公司申报的“基于AI的降阶建模实现新能源汽车高低温续航高效集成仿真”案例在本次大会中......
  • 跟《经济学人》学英文:2024年07月06日这期:How Starbucks caffeinates local economies
    HowStarbuckscaffeinateslocaleconomiesCallitthefrappuccinoeffectfrappuccino:星冰乐星巴克如何刺激当地经济:称之为星冰乐效应原文:Starbucksoffersendlessopportunitiesforinnovation.Partsofsocialmediadelightinhackingthechain’smenuto......
  • ts学习笔记
    1、ts简介以js为基础构建的语言,是js的超集,拓展了js并添加了类型,可以在任何支持js的平台执行。但是ts不能被js解析器直接执行,需要编译为js才能执行。  ts新加了类型,像枚举、any、接口、字面量等   Ts支持ES的新特性   Ts可以被编译成任意版本的js,方便兼容2、ts环......
  • 2024全球数字经济大会:大模型时代下DataOps驱动企业数智化升级
    7月5日,以“开源生态筑基础,数字经济铸未来”为主题的2024全球数字经济大会在北京成功举办,来自全国各地的专家学者、企业代表、数据库行业从业人士及众多开源开发者,共聚一堂,共同探讨开源数据库技术的发展现状与未来趋势,助力构建开放、共赢的数据库生态体系,为开源生态的繁荣发展添砖......
  • 【论文阅读笔记】【OCR-End2End】 Bridging the Gap Between End-to-End and Two-Step
    BridgeTextSpottingCVPR2024读论文思考的问题论文试图解决什么问题?问题:如何在保证模块化的前提下,更好地解决两阶段场景文本检测方法中的误差累积问题?背景:端到端的场景文本检测识别模型在新场景应用、更换检测器等情况下需要花费大量的时间训练两阶段模型虽然......
  • P10359 [PA2024] Kolorowy las
    MyBlogsP10359[PA2024]Kolorowylas/tuu。写了三天。首先考虑树的形态不变怎么做,直接的想法是树分治这种东西可以做到一只或者两只\(\log\)。但是点分这种东西不太好扩展到动态树的问题。但是因为这是单点查询,所以可以不用真正的树上染色,只需要回答每个询问即可。考虑对于......