首页 > 其他分享 >SMU Autumn 2024 Trial 2

SMU Autumn 2024 Trial 2

时间:2024-09-18 20:13:35浏览次数:1  
标签:2024 容量 5005 ++ SMU 笑话 Autumn int include

A. Stand-up Comedian
只要a不为0,那么由于b和c是相互制约的,比如2 5 10 6这个样例,讲完两个笑话以后两个人的容量为2 2,可以选择一个人+1,一个人-1,那么就可进行min(b,c)*2次,进行完后,两个人的容量仍为2,2,最后要看还剩几个笑话可以讲,就是min(a+1,abs(b-c)+d),就是容量很大时可以把笑话全讲完,如果容量小于剩下的笑话,就只能讲当前容量+1个笑话

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


int main() {
	
	int n;
	cin>>n;
	while(n--)
	{
		int a,b,c,d;
		cin>>a>>b>>c>>d;
		if(a==0) {
			cout<<1<<endl;
			continue;
		}
		int ans=0;
		ans+=a;//两个人都增加
		ans+=min(b,c)*2;//相互制约
		ans+=min(a+1,abs(b-c)+d);//剩下的可以讲的笑话,某个为0时
		cout<<ans<<endl;
		
	}
	
}

B. Harmony Analysis
++++++++
++++????
++??++??
++????++
+?+?+?+?
+?+??+?+
+??++??+
+??+?++?
我们用问号来代替*号会发现,当k=3时,后四行是由前四行偶数位异或得到的

#include<bits/stdc++.h>
using namespace std;
int n,m=1,a[512][512];
/*void print(int m)
{
for(int i=0;i<m;i++)
{
for(int j=0;j<m;j++) cout<<a[i][j];
cout<<endl;

}
}
*/
int main()
{
	a[0][0]=1,cin>>n;
	for(int i=1;i<=n;i++)
	{
			//print(m);
		for(int j=0;j<m;j++)for(int k=m*2-1;k>=0;k--)a[j][k]=a[j][k/2];
		//把每一行对半复制比如10 复制为1100
		for(int j=m;j<m*2;j++)for(int k=0;k<m*2;k++)a[j][k]=a[j-m][k];
		//把后一半行复制成前一半行
		for(int j=m;j<m*2;j++)for(int k=1;k<m*2;k+=2)a[j][k]^=1;
		//后一半行偶数位异或
	
		m*=2;
		//cout<<endl;
	}
	
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<m;j++) {
			if(a[i][j]==1) cout<<"+";
			else cout<<"*";
		}
		cout<<endl;
	}
	
	
	//print(m);
	return 0;
}

C. Armchairs
动态规划
\(f[i][j]\)用来记录前i个人坐了前j把椅子的最小代价,i为前i个人,j为前j把椅子。
预处理一下,把有人坐的位置放进b数组里
\(如果当前位置没有人(a[j]==0),则f[i][j]=min(f[i-1][j-1]+abs(b[i]-j,f[i][j-1]))\)
\(如果有人坐了,则f[i][j]=f[i][j-1]\)

#include<bits/stdc++.h>
using namespace std;
int t,n,a[5005],f[5005][5005],b[5005];
//f[i][j] i是前i个人 j是前j把椅子 f[i][j]为前i个人坐了前j把椅子的最小费用
int main() {
	
	int n;
	int cnt=0;
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i];
		if(a[i]==1)	b[++cnt]=i;//把有人坐的位置放进b数组里
	}
	memset(f,0x3f3f3f,sizeof (f));//先把每个位置的代价设置为无限大
	//注意memset赋值最大值只能写0x3f3f3f
	for(int i=0;i<=n;i++) f[0][i]=0;//第一行代价为0,0个人任意坐任意把椅子没有代价
	
	
	
	for(int i=1;i<=cnt;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(a[j]==0){//当前位置没有人,考虑是否可以坐,f[i-1][j-1]是当前行的上一行的最优解
				f[i][j]=min(f[i][j-1],f[i-1][j-1]+abs(b[i]-j));
			}else//有人了,代价就是前一个值
				f[i][j]=f[i][j-1];
		}
	}

	cout<<f[cnt][n]<<endl;//此时输出的就是最小代价
	
}

D. Maximum Subarray
这道题是最大子段和的进阶版,大概是2000分的题目,我先放着,等我日后再来补补
https://www.luogu.com.cn/problem/solution/CF1796D 别人的题解

标签:2024,容量,5005,++,SMU,笑话,Autumn,int,include
From: https://www.cnblogs.com/swjswjswj/p/18418603

相关文章

  • 2024Mysql And Redis基础与进阶操作系列(2)作者——LJS[含MySQL登录;DDL;DML;举例说明;编码
    目录1.MySQL的登录1.1服务的启动和停止方式1:使用图形界面工具步骤1:打开windows服务 步骤2:找到MySQL80(点击鼠标右键)→启动或停止(点击)编辑补充说明2点:1.2自带客户端的登录与退出登录方式1:MySQL自带客户端注意:退出登录2MySQL数据库基本操作-DDL和DML2.1.DDL解释2.......
  • 20240918:DP选做
    本文为@A_zjzj《dp专题》学习笔记。转移性质Lanterns题意:\(n\)个灯笼拍成一排,第\(i\)个灯笼具有\(p_i\)的亮度。每个灯笼要么朝向左照亮\([i-p_i,i-1]\),要么朝向右照亮\([i+1,i+p_i]\)。寻找一种方案,为所有的灯笼定向,使得每一个灯笼被至少一个其他灯笼照......
  • The 2024 CCPC Online Contest
    https://codeforces.com/gym/105336B-军训II排序后肯定是最优解,方案数就是能排成有序序列的个数#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingi128=__int128;#defineinti64usingvi=vector<int>;using......
  • The 2024 ICPC Asia East Continent Online Contest (I)
    目录写在前面M签到F笛卡尔树or单调栈,dfsorST表,排序A大力讨论,结论G二分答案,前缀和C结论,图论,剩余系,线性代数L图论转化,建图技巧,最短路H括号序列,网络流写在最后写在前面补题地址:https://codeforces.com/contest/2005。以下按个人难度向排序。复刻CCPC网赛开头超顺利......
  • 2024版PyCharm安装详细教程!(附安装包)
    Python简介Python是一种计算机程序设计语言,它结合了解释性、编译性、互动性和面向对象的脚本语言,非常简单易用。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。很多著名的网站都是用它编写的,如豆......
  • 2024年最强网络安全学习路线,详细到直接上清华的教材!
     关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线首先咱们聊聊,学习网络安全方向通常会有哪些问题前排提示:文末有CSDN官方认证Python入门资料包!1、打基础时间太长学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上,更多的人会倒......
  • 2024-09-18:用go语言,给定一个从 0 开始的长度为 n 的正整数数组 nums 和一个二维操作数
    2024-09-18:用go语言,给定一个从0开始的长度为n的正整数数组nums和一个二维操作数组queries,每个操作由一个下标值indexi和一个数值ki组成。开始时,数组中的所有元素都是未标记的。依次执行m次操作,每次操作的过程如下:1.如果下标indexi对应的元素还未标记,则标记这个元素......
  • EUNOIA BY AN - 越南品牌在2024中国国际时装周-北京闪耀
    2024年9月9日讯、EunoiabyAN—一个专门为儿童设计的高端礼服的品牌、在2024年中国国际时装周上精彩亮相。该品牌以其富有民族特色的设计、成为第一个在中国国际时装周展示的越南儿童时尚品牌。此次出席活动有越南驻中国大使馆代表——NguyenTruongSon先生。近年来、儿......
  • Adobe Illustrator AI2024下载安装(附win/mac安装包)
    目录一、AdobeAI下载二、系统要求一、AdobeAI下载链接:https://pan.baidu.com/s/11IMuW59pfaLS8mbzWdlOig?pwd=dgys提取码:dgys二、系统要求为了确保AdobeIllustrator能够正常运行并发挥最佳性能,您的计算机系统需要满足以下要求:1.操作系统Windows:Windows10(......
  • 刘德华2024演唱会危险事故集锦
    分析2024年刘德华演唱会事故2024年,刘德华的演唱会巡回演出中接连发生了多起事故,这些事件不仅让人们担心他的身体状况,也引发了对演唱会团队安全管理的质疑。上海站高台滑跪事故(7月5日)在上海的演唱会上,刘德华进行了一个高台滑跪的动作。滑跪本身是一个极具视觉冲击力的表演动作,尤其是......