首页 > 其他分享 >8.23总结

8.23总结

时间:2022-08-23 19:11:37浏览次数:72  
标签:总结 ch int 8.23 while ans tmp2 getchar

神仙题

\(solution\)

快读+sort找出现次数大于n/2的编号就可以过了,时间限制是5s,考场没过是我想太多

AC Code
#include<bits/stdc++.h>
using namespace std;

inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		x=x*10+ch-'0';
		ch=getchar();
	}
	return x*f;
}

const int N=1e6+5;
int t,n,a[N];

int main()
{
//	freopen("god.in","r",stdin);
//	freopen("god.out","w",stdout);
	t=read();
	while(t--)
	{
		n=read();
		for(int i=1;i<=n;i++)a[i]=read();
		sort(a+1,a+n+1);
		int cnt=0;
		for(int i=1;i<=n;i++)
		{
			(a[i]==a[i-1])?cnt++:cnt=1;
			if(cnt>n/2)
			{
				printf("%d\n",a[i]);
				break;
			}
		}
	}
	return 0;
}

搬砖比赛

\(solution\)

优先队列建一个小根堆,把大于\(a_1\)的还能搬砖的最大重量扔进来,在和\(a_1\)比较一下,每次\(a_1\)大小减小都与之前答案比较看是否为最优

AC Code
#include<bits/stdc++.h>
using namespace std;

inline int read()
{
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
	{
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9')
	{
		x=x*10+ch-'0';
		ch=getchar();
	}
	return x*f;
}

const int N=1e5+5;
int n;
priority_queue<int>q;
struct ww{
	int t,w;
}a[N];

bool cmp(ww x, ww y)
{
	return x.t>y.t;
}

int main()
{
//	freopen("move.in","r",stdin);
//	freopen("move.out","w",stdout);
	n=read();
	for(int i=1;i<=n;i++)
	a[i].t=read(),a[i].w=read();
	sort(a+2,a+n+1,cmp);
	int tmp=2,ans=1,tmp2;
	for(int i=tmp;i<=n;i++)
	{
		if(a[i].t>a[1].t)
		{
			ans++;
			q.push(-a[i].w+a[i].t-1);
		}
		else
		{
			tmp=i;
			break;
		}
	}
	tmp2=ans;
	while(q.size()&&a[1].t>0)
	{
		int u=-q.top();
		if(u>a[1].t)break;
		q.pop();a[1].t-=u;tmp2--;
		for(int i=tmp;i<=n;i++)
		{
			if(a[i].t>a[1].t)
			{
				tmp2++;
				q.push(-a[i].w+a[i].t-1);
			}
			else
			{
				tmp=i;
				break;
			}
		}
		ans=min(ans,tmp2);
	}
	printf("%d\n",ans);
	return 0;
}

标签:总结,ch,int,8.23,while,ans,tmp2,getchar
From: https://www.cnblogs.com/mkik/p/16617457.html

相关文章

  • Android最新微信支付总结
    签名和包名,签名的话:用release。关于上线:非硬性指标。1.申请appid提交应用,等待审核。只有审核通过后,才能有开发资格。支付认证费:300元/年。每年需要认证一次。2.下载sdk......
  • 暑假学习一 8.23日
    今日学习内容:1.安装VMware虚拟机,并且按照黑马程序员课程提示搭建了几个虚拟机,中途出现的问题是,所给的课程资料并没有给镜像文件,搜索镜像文件时,搜不到iso1908的文件,当天下......
  • 《大脑幸福密码》总结
    目录总结为什么要改造大脑?至少5个积极体验才能抵消1个消极体验消极体验会恶性循环大脑的两种模式:顺应和反应内化积极体验四步曲(heal)1.拥有一个积极体验(haveapositiveexp......
  • HTML 基础知识总结
    HTML定义和基本结构定义定义:HTML是HyperTextMark-upLanguage的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言......
  • 软考刷题总结 软件设计师
    1.2. 3.   4.  5. 6.PV操作7.海明码8.  9.NFA 10. 11. 12.  13.  14.   15.    16.  17.  18.......
  • mysql知识总结-连接查询
    Join链接方式Leftjoin左边的表为左表,rightjoin右边的表为右表1、左链接1.1、是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息......
  • 8.23复学记
    水了114514天,要开始认真地学习啦!P3834【模板】可持久化线段树2主席树点击查看代码#include<algorithm>#include<cstdio>#include<iostream>constintN=......
  • 算法总结
    1.二叉树每层的最大值给定一棵二叉树的根节点 root,请找出该二叉树中每一层的最大值。题解:看见二叉树的题,遍历用深度优先搜索或者广度优先搜索都是有固定模板的,具体看题......
  • 性能测试总结
    性能测试总结梳理性能测试流程(模型)首先做好测试的前期准备,梳理好性能的目标,编写好性能测试的测试用例选择好要用的工具,编写好测试计划,使用选择好的工具或代码来设计场景......
  • 8.22总结
    函数变化考试最后关头,我才发现T1是有规律的,哭~写下一个暴力程序,打表后,你可以发现前n-1项中第i项的答案为\(2^{i-1}\),第n项为\(2^{n-1}-1\),n以后项的答案为前n项的和,就可......