首页 > 其他分享 >【做题记录】ADAUNIQ - Ada and Unique Vegetable

【做题记录】ADAUNIQ - Ada and Unique Vegetable

时间:2023-06-10 22:47:38浏览次数:66  
标签:ch pw fw p1 ADAUNIQ ULL Ada Vegetable include

link

做法:带修莫队

#include<cstdlib>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<algorithm>
typedef long long LL;
typedef unsigned long long ULL;
namespace FastIo{
    typedef __uint128_t ULLL;
    static char buf[100000],*p1=buf,*p2=buf,fw[100000],*pw=fw;
    #define gc p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++
    inline void pc(const char &ch){
    	if(pw-fw==100000)fwrite(fw,1,100000,stdout),pw=fw;
    	*pw++=ch;
	}
    #define fsh fwrite(fw,1,pw-fw,stdout),pw=fw
	struct FastMod{
        FastMod(ULL b):b(b),m(ULL((ULLL(1)<<64)/b)){}
        ULL reduce(ULL a){
            ULL q=(ULL)((ULLL(m)*a)>>64);
            ULL r=a-q*b;
            return r>=b?r-b:r;
        }
        ULL b,m;
    }HPOP(10);
    struct QIO{
    	char ch;
    	int st[40];
    	inline void read(int &x){
    		x=0,ch=gc;
    		while(!isdigit(ch))ch=gc;
    		while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=gc;}
		}
		inline void write(int a){
			do{st[++st[0]]=HPOP.reduce(a);a/=10;}while(a);
			while(st[0])pc(st[st[0]--]^48);
			pc('\n');
		}
	}qrw;
}
using namespace FastIo;
#define NUMBER1 1000000
#define P(A) A=-~A
#define fione_i(begin,end) for(register int i=begin;i<=end;P(i))
int n,m,a[NUMBER1+5],ans[NUMBER1+5],mq(0),mc(0),fk,sum(0),cnt[NUMBER1+5];
struct ASK{
	int id,l,r,t;
	bool operator<(const ASK &A)const{
		int L=l/fk,AL=A.l/fk,R=r/fk,AR=A.r/fk;
		return (L!=AL)?(L<AL):((R!=AR)?(R<AR):(t<A.t));
	}
	ASK(int id=0,int l=0,int r=0,int t=0):id(id),l(l),r(r),t(t){}
}q[NUMBER1+5];
struct CHANGE{
	int p,color;
	CHANGE(int p=0,int color=0):p(p),color(color){}
}c[NUMBER1+5];
inline void add(const int &data){
	P(cnt[data]);
	if(cnt[data]==1)P(sum);
	else if(cnt[data]==2)--sum;
}
inline void del(const int &data){
	--cnt[data];
	if(!cnt[data])--sum;
	else if(cnt[data]==1)P(sum);
}
signed main(){
	int x,y,t(0),op;
	qrw.read(n);
	qrw.read(m);
	fione_i(1,n)qrw.read(a[i]);
	fione_i(1,m){
		qrw.read(op);
		qrw.read(x);
		qrw.read(y);
		if(op==2)mq++,q[mq]=ASK(mq,x+1,y+1,mc);
		else c[++mc]=CHANGE(x+1,y);
	}
	fk=pow((double)n*std::max(1,mc),1.0/3),x=1,y=0;
	std::sort(q+1,q+1+mq);
	fione_i(1,mq){
		while(y<q[i].r)add(a[++y]);
		while(y>q[i].r)del(a[y--]);
		while(x<q[i].l)del(a[x++]);
		while(x>q[i].l)add(a[--x]);
		while(t<q[i].t){
			P(t);
			if(c[t].p<=y&&c[t].p>=x){
				del(a[c[t].p]);
				add(c[t].color);
			}
			std::swap(a[c[t].p],c[t].color);
		}
		while(t>q[i].t){
			if(c[t].p<=y&&c[t].p>=x){
				del(a[c[t].p]);
				add(c[t].color);
			}
			std::swap(a[c[t].p],c[t].color);
			--t;
		}
		ans[q[i].id]=sum;
	}
	fione_i(1,mq)qrw.write(ans[i]);
	fsh;
    exit(0);
    return 0;
}

标签:ch,pw,fw,p1,ADAUNIQ,ULL,Ada,Vegetable,include
From: https://www.cnblogs.com/SHOJYS/p/17472100.html

相关文章

  • 去掉或修改页面底部的「动力源自 Bravada & WordPress.」字样
    打开:……/wp-content/themes/bravada/includes/core.php定位至位于第400行左右的「bravada_master_footer」处;做相应修改。参考:https://blog.csdn.net/qq_45790384/article/details/127335865......
  • 网站加速,AdapterMan 是基于 Workerman 的高性能 PHP 异步网络编程框架,可以用于加速任
    AdapterMan是基于Workerman的高性能PHP异步网络编程框架,可以用于加速任意项目。下面是使用AdapterMan进行加速的详细步骤:1.安装AdapterMan:composerrequireadapterman/adapterman 2.创建一个PHP文件,例如`index.php`,并编写以下代码:require_once__DIR__.......
  • Exadata存储节点image升级,patch_check_prereq阶段报错
    1、某客户有一台ExadataX4-2,当前的image版本为11.2.3.3.1,计划将image版本升级到18.1.34.0.0。当针对存储节点执行升级前的预升级检查工作时报错。具体如下所示:[root@dm01dbadm01patch_18.1.34.0.0.210717]#./patchmgr-cellscell_group-patch_check_prereq-rolling ......
  • 对于动量法,adagrad,RMSProp,Adam的理解
    对于adagrad的理解“随机梯度下降、牛顿法、动量法、Nesterov、AdaGrad、RMSprop、Adam”,打包理解对梯度下降法的优化_哔哩哔哩_bilibiliAdaGrad对学习率进行了一个约束,对于经常更新的参数,我们已经积累了大量关于它的知识,不希望被单个样本影响太大,希望学习速率慢一些;对于偶尔更......
  • 树莓派之OLED12864视频播放—BadApple
    概述本篇教程讲述了使用树莓派驱动OLED12864液晶屏,并在液晶屏上播放动画和视频.硬件平台树莓派一台—RaspberryPi_2B。OLED12864显示屏一块,SPI接口。软件平台wiringPi—开源树莓派GPIO库。EasyBMP—开源BMP图片处理库(这个库是用C++编写的,主要为了方便提取BMP图片数据,我已经做好了......
  • spring boot 集成 Neo4j org.neo4j.ogm.metadata.DomainInfo.useClassgraph(DomainIn
    springboot版本:2.2.13.RELEASE 问题在于引入后,报错spring-boot-starter-data-neo4j<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId></dependency>  *......
  • Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付|附代码
    图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化有25个变量:ID: 每个客户的IDLIMIT_BAL: 金额SEX: 性别(1=男,2=女)4.教育程度:(1=研究生,2=本科,3=高中,4=其他,5=未知)5.婚......
  • 0007.有监督学习之集成学习(Adaboost算法)
    一、集成学习概述1.集成学习算法定义集成学习(Ensemblelearning)就是将若干个弱分类器通过一定的策略组合之后产生一个强分类器。弱分类器(weakClassifier)指的就是哪些分类准确率只比随机猜测略好一点的分类器,而强分类器(StrongClassifier)的分类准确率会高很多。这里的“强”&......
  • TI平台搭建(Radar)
    零、运行环境一、工具安装二、代码生成三、代码编译四、刷机五、调试 零、运行环境Windows11 笔记本64位32G  i7-1165G7 一、工具安装进行TI开发之前,需要安装一下工具:mmwave_mcuplus_sdk_04_03_00_01-Windows-x86-Install.execcs_setup_12.1.......
  • 6) Adapter Pattern
    类别: StructuralPattern问题:什么是接口?按照标准提供服务,其他想要使用该接口的要按照该标准接入服务什么是依赖?持有目标对象,拥有使用权(AuseB)数据线?数据线按USB标准接入充电宝,通过lightning提供充电服务手机?通过lightning标准接入数据线  客户端因种种限制只能接入......