首页 > 其他分享 >【2024秋#113】锦城ACM周测题解

【2024秋#113】锦城ACM周测题解

时间:2024-09-27 16:48:53浏览次数:1  
标签:int 题解 ll mid long 2024 ACM ans op

2024秋#112】锦城ACM周测题解

A.awa1

思路
这里是对答案进行二分,我们预测一个答案的范围,取这个范围的中点,试探是否可行。
如果可行,将这个范围的右边的范围缩小到mid(注意我们所求是最短时间,所以当mid可行的时候我们是将预测的最大的值变小),如果不可行,说明我们预测的这个范围左边部分都不可行,将l变为mid,将我们的预期时间变大

讲讲判断具体是怎么操作的吧:

ans代表我们预测的天数,遍历每一件衣服,如果在预测的天数里面,衣服没能自己风干.则减去风干的湿度,剩下的我们看使用烘干机需要多少天,如果需要烘干机的天数比我们预测的天数还多?相当于每天使用烘干机还没干说明

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,a,b;
ll s[500010];

bool check(ll ans)
{
	ll sum=0;
	for(int i=1;i<=n;i++)
		if(s[i]>ans*a)
			sum+=ceil((s[i]-ans*a)*1.0/b);
	if(sum>ans)
		return false;
    return true;
}

int main()
{
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
		cin>>s[i];
	sort(s+1,s+1+n);
	ll l=0,r=s[n]+1,res=0;
	while(l+1!=r)
	{
		ll mid=(l+r)>>1;
		if(check(mid))
		{
			r=mid;
			res=mid;
		}
		else
		    l=mid;
	}
	cout<<r;
	return 0;
}

B.awa2

思路
要构造一个排列,那么我们可以先从大到小输出k到n之间的数,因为这样的一个过程中g(i)的始终为0,且f(i)的和最大。
然后输出m+1到k−1之间的数,这里的顺序无所谓,因为对于f(i)和g(i)都没有影响。
最后从小到大输出1到m之间的数即可。因为这样的可以使得g(i)的和最小,结果就最大。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

void ac()
{
	ll n,m,k;
	cin>>n>>m>>k;
	for(int i=n;i>=k;i--)
		cout<<i<<" ";	
	for(int i=m+1;i<k;i++)
		cout<<i<<" ";
	for(int i=1;i<=m;i++)
		cout<<i<<" ";
	cout<<endl;
}
int main()
{	
	int t;
	cin>>t;
	while(t--)
		ac();
	return 0;
}

C.awa3

思路
我们只用考虑相邻元素之间的差就可以了,因为假如本个元素比上一个小,那么其实这个元素要减的话,上一个元素已经帮你减掉了。假如本个元素比较大,对答案的贡献就是a[i]-a[i-1]

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,op[100005],a[100005];
ll ans=0;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>op[i];
	for(int i=1;i<=n;i++)
	{
		a[i]=op[i]-op[i-1];
		if(a[i]>0)
			ans+=a[i];
	}
	cout<<ans;
	return 0;
}

D.awa4

思路
一.首先,1,2,3,4,5都可以一次取到,当n=6时,第一个人先取1-5个,无论怎么取,第二个人全去走就赢了。
二.对于6的倍数,一定不能是质数的K次方,证明:先是除2以外的质数都是奇数,而奇数乘奇数都是奇数,故6的倍数全不是n的K次方;对于2,由于6中存在因数3,故6n也不是2的K次方。
三.对于12第一个人取1-5个第二个人直接取到剩下6个,就变成了情况一,第一个人取不到6个,若去6个以上,则直接败;
四.归纳6
n。第一个人无法去6的倍数个,第二个人只要将数压倒6*m(m<n就会慢慢推到情况二,就又是第一个人输。
五。对于非6的倍数,第一个人只要去1-5个,使之变成6的倍数,就变成情况四了。
所以,只有当a为六的倍数时,Roy才能赢。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,x;

int main()
{
	cin>>n;
	while(n--)
	{
		cin>>x;
		if(x%6==0)
			cout<<"Roy wins!"<<endl
		else
			cout<<"October wins!"<<endl
	}
	return 0;
}

B.awa5

思路
显然暴搜+剪枝
我们可以反向搜索,也就是先选大的
不难发现这样更容易产生更大的答案
然后乱搞搞就过了

点击查看代码
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,c,ans;
ll op[1005],a[1005];

void dfs(int pos,long long x)
{
	if(x>c)return;
	if(op[pos-1]+x<=c)
	{
		ans=max(ans,op[pos-1]+x);
		return;
 	}
 	ans=max(ans,x);
 	for(int i=pos-1;i>=1;i--)
  		dfs(i,x+a[i]);
 	return;
}
int main()
{
 	cin>>n>>c;
 	for(int i=1;i<=n;i++)
 	{
  		cin>>a[i];
  		op[i]=op[i-1]+a[i];
 	}
 	dfs(n+1,0);
 	cout<<ans<<endl;
 	return 0;
}

标签:int,题解,ll,mid,long,2024,ACM,ans,op
From: https://www.cnblogs.com/Nikoliy/p/18436058

相关文章

  • Pbootcms源码上传安装后前端显示错乱乱码问题解决方案
    PbootCMS前端显示错乱或乱码问题可能是由多种原因造成的,下面是一些可能的解决方案:检查字符集设置:确认前端页面的字符集设置是否正确。通常在HTML头部会有一个<meta>标签定义字符集,例如<metacharset="UTF-8">。同时检查PbootCMS后台的字符集设置是否与前端一致,确保数据库和......
  • 20240927
    FunisCounting我们可以发现数组\(a\)必须是\(x\)或\(x-1\),然后分类讨论即可#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e6+5,mod=998244353;intinv[N],f[N],g[N],t,n,a[N];intC(inta,intb){if(......
  • NOIP2024模拟测试赛(一)
    比赛链接A.tree当\(\forallv_i\le1\)时,可以直接从下往上贪心选,一个以\(u\)为根的子树中联通块如果权值和\(>k\)那么肯定能删到恰好\(k\)。否则的话就把这个联通块并到\(u\)父亲上再看就行。当\(\forallv_i\le2\)时,直接贪心可能有问题,大于\(k\)的权值和可能......
  • 【连续两届IEEE出版,EI检索稳定】第四届新能源与电力工程国际学术会议(ICNEPE 2024)
     第四届新能源与电力工程国际学术会议(ICNEPE2024)将于2024年11月8-10日在中国广州隆重举行。会议将遵循学术性、国际性的原则,特邀国内外电力与能源领域内的学者专家前来参会,并做出精彩的报告。会议主要围绕能源与电力工程等研究领域展开讨论。旨在为能源与电力工程领域的专家......
  • CSP-S 2024 第五次
    建议倒序开题A枚举\(A,D\)灯的亮度\(A,D\),设\(B,C\)灯的亮度为\(B,C\),则可以得到不等式组:\[\begin{aligned}&B/2+C/2\gea-A-D/4\\&B/2+C/2\ged-D-A/4\\&B+C/4\geb-A/2-D/2\\&B/4+C\gec-A/2-D/2\end{aligned}\]设\(B=4u+x,C=4v+y\),枚举\(x......
  • Adobe Photoshop(PS2024)图像处理软件win/mac下载安装(附安装包)
    简介AdobePhotoshop(简称PS),是由AdobeSystems开发和发行的一款功能强大的图像处理软件。自1988年首次发布以来,Photoshop已成为图像处理领域的标杆软件,广泛应用于平面设计、插画设计、网页设计、界面设计、数码照片后期处理、效果图后期处理以及电子商务等多个领域。Photoshop......
  • 【题解】【归并排序】—— [NOIP2011 普及组] 瑞士轮
    【题解】【归并排序】——[NOIP2011普及组]瑞士轮[NOIP2011普及组]瑞士轮题目背景题目描述输入格式输出格式输入输出样例输入#1输出#1提示1.思路解析2.AC代码[NOIP2011普及组]瑞士轮通往洛谷的传送门题目背景在双人对决的竞技性比赛,如乒乓球、羽毛球、......
  • P10603 BZOJ4372 烁烁的游戏 题解
    题目传送门前置知识动态树分治|动态开点线段树|标记永久化解法考虑动态点分治。两种操作本质上是将luoguP6329【模板】点分树|震波的操作互换了下,将原需支持单点修改、区间查询的数据结构换成需支持区间修改、单点查询的数据结构即可。区间修改、单点查询的动态开......
  • 【IEEE出版(有ISBN号)、南京工业大学主办|EI会议|学生易中稿,超高录用率】2024年先进控制
    2024年先进控制系统与自动化技术国际学术会议(ACSAT2024)2024年11月15-17日  中国南京 大会网站:https://ais.cn/u/EvuyUf【投稿参会】截稿时间:以官网信息为准主办单位征稿主题论文出版所录用的论文将以会议论文集形式递交IEEE出版,已确定ISBN号。见刊后由出版......
  • 【计算机领域|SPIE独立出版,往届均已被EI&Scopus检索,最快会后三个月EI检索|河南工程学
    第四届计算机、信息工程与电子材料国际学术会议(CTIEEM2024)将于11月15-17日在中国郑州举办,主要围绕“计算机技术”、“信息工程”、“电子材料”、“电气工程”与“控制与自动化”等研究领域展开讨论。老牌会议|涵盖计算机学科 |往届均完成稳定检索大会网站:https://ai......