175对我这种蒟蒻好难,,,
L1-6剪切粘贴
题目详情 - L1-094 剪切粘贴 (pintia.cn)
天梯赛:L1-094 剪切粘贴_scarecrow133的博客-CSDN博客
本蒟蒻看到字符串就害怕,一看就没思路,果断跳过了……
等佬佬讲了再补叭~
L1-7分寝室
题目详情 - L1-095 分寝室 (pintia.cn)
这题感觉像小学数学应用题。
女生n0,男生n1,一共n间寝室。
我们直接暴力,让i作为女寝个数,自然男寝个数就是(n-i)
要求每个女寝人数相同,男寝人数相同
只要n0能整除女寝个数(男寝同理。)就可以作为备选答案。
然后找出差最小的答案就可以了。
(仔细看题,n0和n1都是正整数,也就男女都有人,所以男女寝室至少都有一个,所以i从2开始走到n-1)
有个点不能过。 (考场上看了挺久都不能a,而且就一分没细究。
然后看了佬。
AC代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,n0,n1;//n 间寝室。等待分配的学生中,有女生 n0,n1男生
int ans1,ans2;
int cha=1e8;
int flag;
signed main()
{
cin>>n0>>n1>>n;
for(int i=2;i<=n-1;i++)
{
int x=n-i;
if(n0%i==0&&n1%x==0)
{
int a=n0/i;
int b=n1/x;//代表几人间
if(a==1||b==1) continue;//加上判断是不是一人间
int c=a-b;
if(abs(c)<cha)
{
cha=abs(c);
flag=1;
ans1=i;
ans2=x;
}
}
}
if(flag==0) cout<<"No Solution";
else cout<<ans1<<" "<<ans2;
return 0;
}
L2-1堆宝塔
题目详情 - L2-045 堆宝塔 (pintia.cn)
感觉是模拟+栈,
考场写的时候第一遍只有15,原因是所有数都看过一遍之后,柱子上剩余的圈圈也可以当成一个塔。只要在最后加个判断就好了
加了判断之后还是只有16,报错?段错误
问了佬。
要记住:
栈采用 pop 或者 top操作 之前一定要 判空!!
然后判断语句里面一定也是要先判空再操作
要 if(!b.empty() && b.top()>num)
先判空!!!
然后就可以AC咯
#include<bits/stdc++.h>
using namespace std;
stack<int> a;
stack<int> b;
int n;
int h=0;
int cnt;
signed main()
{
cin>>n;
while(n--)
{
int num;
cin>>num;
if(a.empty())
{
a.push(num);
continue;
}
if(num<a.top())
{
a.push(num);
continue;
}else if(b.empty()||b.top()<num){
b.push(num);
continue;
}else{
cnt++;
if(a.size()>h)
{
h=a.size();
}
while(!a.empty())
{
a.pop();
}
while(!b.empty()&&b.top()>num)
{
a.push(b.top());
b.pop();
}
a.push(num);
}
}
if(!a.empty())
{
cnt++;
if(a.size()>h)
{
h=a.size();
}
}
if(!b.empty())
{
cnt++;
if(b.size()>h)
{
h=b.size();
}
}
cout<<cnt<<" "<<h;
return 0;
}
L2-2 天梯赛的赛场安排
题目详情 - L2-046 天梯赛的赛场安排 (pintia.cn)
蒟蒻骗了个15分,
老实说,看到题是有思路的感觉需要用到堆/优先队列,但本蒟蒻还没用过,慢慢学吧~
L2-3 锦标赛
题目详情 - L2-047 锦标赛 (pintia.cn)
(现在看发现好像直接输出no solution能骗分??
L2-4 寻宝图
题目详情 - L2-048 寻宝图 (pintia.cn)
看数据范围是BFS,太久没写全忘了
L3不在本蒟蒻的能力范围之内,如果有简单的再说叭~~