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 别人的题解

SMU Autumn 2024 Trial 2的更多相关文章

  1. Autumn is a second spring when every leaf is a flower.

    Autumn is a second spring when every leaf is a flower. 秋天即是第二个春天,每片叶子都是花朵.——阿尔贝·加缪

  2. Visual Studio 2012 trial version

    Update: vs2012.5.iso http://download.microsoft.com/download/9/F/1/9F1DEA0F-97CC-4CC4-9B4D-0DB45B8261 ...

  3. myeclipse trial expired[转]

    转自:http://blog.csdn.net/yuyuyuyuy/article/details/5878122 今天MyEclipse提示过期了,MyEclipse Trial Expired. ...

  4. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号:V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta )Build:用数字或日期标示版本号的一种方式.(如:VeryCD ...

  5. 软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号: V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta ) Build:用数字或日期标示版本号的一种方式.(如:VeryC ...

  6. POJ 2756 Autumn is a Genius 大数加减法

    Description Jiajia and Wind have a very cute daughter called Autumn. She is so clever that she can d ...

  7. BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

    Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...

  8. 42028: Assignment 1 – Autumn 2019

    42028: Assignment 1 – Autumn 2019 Page 1 of 4Faculty of Engineering and Information TechnologySchool ...

  9. PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ,you must purchase the retail version.

    PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ...

  10. Remove menucool tooltip trial version

    You use this crack on your own risk , i dont reserve any right on this script or what is going to af ...

随机推荐

  1. .NET8.0多线程编码结合异步编码示例

    1.创建一个.NET8.0控制台项目来演示多线程的应用 2.快速创建一个线程 3.多次运行程序,可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使 ...

  2. 将Ldap组织结构及用户信息同步到MySQL,用Spring Boot项目操作

    从上一篇<将Mybatis引入Spring Boot项目连接数据库操作>知道了如何在Spring Boot项目操作数据库,学会了增删查改基本操作方法.本节记录如何从Ldap获取组织结构及用 ...

  3. G1原理—9.如何优化G1中的MGC

    大纲 1.大对象导致频繁Mixed GC的案例 2.Mixed GC到底是在优化什么(从避免到提速) 3.Mixed GC相关参数详解之堆内存分配参数 4.Mixed GC其他相关的参数详解及优化 1 ...

  4. Exfiltrated pg walkthrough Easy

    80端口弱口令admin admin 发现cms 搜索exp 发现漏洞 https://www.exploit-db.com/exploits/49876 找到敏感数据库密码和用户 ╔════════ ...

  5. NOIP2023 游记及反思

    游记 进场前的同学们 柠檬熟了.Nitaycke.Prms_Prmt.b1t zhicheng,meatherm 开题,很快啊, 第一题不就桶排,今年签到没有去年恶心啊(9:00) 第二题,观察到每个 ...

  6. FreeSql学习笔记——0.FreeSql启动!

    FreeSql FreeSql是功能强大的 .NET ORM,支持 .NetFramework 4.0+..NetCore 2.1+.Xamarin等支持 NetStandard 所有运行平台.支持  ...

  7. KUKA库卡机器人KR120维修故障参考方案

    随着智能制造的飞速发展,KUKA库卡机器人KR120以其稳定的特点,在自动化生产线上扮演着举足轻重的角色.然而,任何机械设备在长期运行过程中都难免会遇到故障.本文将针对KUKA库卡机器人KR120维修 ...

  8. 函数static的作用

    限制作用域和保持状态 ‌函数static的作用主要体现在限制作用域和保持状态两个方面.‌‌1 限制作用域 ‌静态全局变量‌:在全局变量前加上static关键字,该变量就被定义成为一个静态全局变量.这种 ...

  9. Flink学习(十七) Emitting to Side Outputs(侧输出)

    我们在生产实践中经常会遇到这样的场景,需把输入源按照需要进行拆分,比如我期望把订单流按照金额大小进行拆分,或者把用户访问日志按照访问者的地理位置进行拆分等.面对这样的需求该如何操作呢? 大部分的Dat ...

  10. mysql常用函数、查询和事务说明笔记

    1.MySQL中内置了很多字符串函数,常用的几个如下: 运用示例:示例表里初始数据: 字段title和titleImage concat : 字符串拼接 select concat(title,tit ...