首页 > 其他分享 >2022/8/23 总结

2022/8/23 总结

时间:2022-08-23 19:17:52浏览次数:102  
标签:总结 ch 23 int read while 2022 re getchar

A.神仙题

  • 这题的名字就是我的感受

亲身经历,警钟敲烂,\(\mathtt{hash(\ )}\) 在 \(\mathtt{c++}\) 中是一个 \(\mathtt{STL}\) 函数。
不要重名!不要重名!!不要重名!!!

Solution

  • 题解说是一个 \(\mathtt{O(n)}\) 的算法然而我没有看懂,不过我用 \(\mathtt{O(n)}\) 外加一个 \(\mathtt{hash}\) 过了;
AC code
#include<bits/stdc++.h>
using namespace std;

#define re register

inline int read(){
	re int s=0,f=1;
	char ch=getchar();
	while(!isdigit(ch)){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(isdigit(ch)){
		s=s*10+int(ch-'0');
		ch=getchar();
	}
	return s*f;
}

const int N=1e6+3;

int T,n;
int a[N+10];
int num[N+10];
int q[N+10],l=0;

inline int h(int x){
	re int t=x%N;
	while(a[t] && a[t]!=x)
		(++t)%=N;
	if(!a[t]) q[++l]=t;
	a[t]=x;
	return t;
}

int main(){
	freopen("god.in","r",stdin);
	freopen("god.out","w",stdout);
	T=read();
	while(T--){
		n=read();
		l=0;
		int x,y;
		int ans=-1;
		for(re int i=1;i<=n;++i){
			x=read();
			if(ans>-1) continue;
			y=h(x);
			++num[y];
			if(num[y]>(n>>1))
				ans=x;
		}
		printf("%d\n",ans);
		for(int i=1;i<=l;++i)
			a[q[i]]=num[q[i]]=0;
	}
	return 0;
}

B.搬砖比赛

Solution

  • 建一个小根堆,比如使用优先队列模拟,然后每次取队头就行了;
AC code
#include<bits/stdc++.h>
using namespace std;

inline int read(){
	int s=0,f=1;
	char ch=getchar();
	while(!isdigit(ch)){
		if(ch=='-') f=-1;
		ch=getchar();
	}
	while(isdigit(ch)){
		s=s*10+int(ch-'0');
		ch=getchar();
	}
	return s*f;
}

const int N=1e5+10;

#define re register

int n,T,W;
int tot=0,k=0;

struct memr{
	int t,w;
	bool operator<(const memr &_)const{
		return t>_.t;
	}
}a[N];

priority_queue<int>q;

int main(){
	freopen("move.in","r",stdin);
	freopen("move.out","w",stdout);
	n=read();
	T=read(),W=read();
	for(re int i=1;i<n;++i){
		a[i].t=read(),a[i].w=read();
		if(a[i].t>T)
			q.push(-(a[i].w-a[i].t+1));
	}
	sort(a+1,a+n);
	re int l=1;
	while(a[l].t>T && l<n)
		++l;
	int rk=q.size()+1;
	int ans=rk;
	while(T && q.size()){
		int x=-q.top();
		q.pop();
		if(T<x) break;
		T-=x;
		--rk;
		while(a[l].t>T && l<n){
			q.push(-(a[l].w-a[l].t+1));
			++l,++rk;
		}
		ans=min(ans,rk);
	}
	printf("%d",ans);
	return 0;
}

标签:总结,ch,23,int,read,while,2022,re,getchar
From: https://www.cnblogs.com/Star-LIcsAy/p/16617438.html

相关文章

  • 2022“杭电杯”中国大学生算法设计超级联赛(10)
    比赛链接:https://vjudge.net/contest/511178C-WavyTree题意:长为\(n\)的序列,每一步操作可以让\(a_i\)变成\(a_j\),花费为\(\lverta_i-a_j\rvert\)。现在要......
  • 达内培训Week2 8.23
    正则表达式regularexpressionregex8.23常见的正则表达方式:一、校验数字的表达式二、校验字符的表达式三、特殊需求表达式文件去看hsp的java文件packagecom.mly......
  • 8.23总结
    神仙题\(solution\)快读+sort找出现次数大于n/2的编号就可以过了,时间限制是5s,考场没过是我想太多ACCode#include<bits/stdc++.h>usingnamespacestd;inlineint......
  • 2022-8-23 第一组 (≥▽≤)
    目录1.CSScss三大特性常用单位字体大小背景列表圆角区块属性盒子模型定位可见性浮动动画练习后端必须掌握1.CSScss三大特性层叠性一个标签可以有多个css样式浏览器......
  • 2022-08-23 第二组刘禹彤 学习笔记
    打卡38天  ###学习内容CSS(续)CSS三大特性层叠性一个标签可以有多个CSS样式浏览器处理冲突的能力,如果一个属性通过两个相同的选择器设置到元素上,样式的层叠规则......
  • 2022年8-22到8-26
    8月22日DTOhttps://www.cnblogs.com/Gyoung/archive/2013/03/23/2977233.htmlDTODataTransferObject,应用于表现层和应用层之间的数据交互,是为了前端UI的需要,而不是领......
  • 2022飞天技术峰会:硬之城如何基于 SAE 打造数智化电子工业互联网平台
    全球数字化时代已经到来,数字经济正推动生产方式、生活方式和治理方式的深刻变化,成为重组全球要素资源,重塑经济结构,改变全球竞争格局的关键力量。云是连接现实与虚拟孪生世......
  • JAVA基础--案例课程--2022年8月23日
    第一节 买飞机票  packagecom.flowerDance.cases;importjava.util.Scanner;publicclassticketingSystem{publicstaticvoidmain(String[]args){......
  • Android最新微信支付总结
    签名和包名,签名的话:用release。关于上线:非硬性指标。1.申请appid提交应用,等待审核。只有审核通过后,才能有开发资格。支付认证费:300元/年。每年需要认证一次。2.下载sdk......
  • spring cloud gateway rce(CVE-2022-22947)分析
    环境搭建https://github.com/spring-cloud/spring-cloud-gateway/releases/tag/v3.0.6漏洞分析该漏洞造成原因是因为配置可写+SPEL表达式的解析导致的SpEL表达式的触......