LGR-147-Div.3】洛谷网校 7 月普及组月赛 & yLOI2022 总结

Upd:2023/8/5补

T1

普及组的题,而且T1,而且叫签到题。所以非常简单,入门难度。没什么好说的。
就是统计大写,小写和字母个数。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=100+5;
string s;
int main(){
cin>>s;
int x=0,y=0,z=0;
for(int i=0;i<s.size();i++){
if(isdigit(s[i]))x++;
else if(islower(s[i]))y++;
else if(isupper(s[i]))z++;
}
cout<<x<<' '<<y<<' '<<z<<endl;
return 0;
}

用时:1min43s

T2

题目看上去复杂,实则不难,就是给出nm+1长度的等比数列,第i个数列的公比为i,首项为ai,然后将他们按字典序排列(即找到第一个不相同的数位,比较大小)后,从小到大输出。

根据题目,我们略加思考就知道,首项不同,比首项即可;首项相同,看i即可:当首项都大于零,i越小,这个数列越小;当首项都小于零,i越大,这个数列越小。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1000000+5;
int n,m;
ll ans[N];
struct node{
int i;
int k;
}a[N];
bool cmp(node x,node y){
if(x.k!=y.k)return x.k<y.k;
else{
if(x.k<0)return x.i>y.i;
else return x.i<y.i;
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i].k;
a[i].i=i;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)cout<<a[i].i<<' ';
return 0;
}

用时:50min38s

T3

题目描述很简洁,不加以解释。很明显,暴力可做,但是一定不是满分(讲个笑话,暴力能到80pts)

比赛时,手玩几个样例,可以发现,两个数时,一定成立。多个数时,必须让他们两两互质,才能成立。互质可以用N的方法找因数并标记。这样做,其实是96Pts,但是!!!本人比赛就少了一段代码如下:
ll k=a[i]; if(S.count(k)){ f=1; cout<<"No"<<endl; break; }
自身判断忘了,所以96Pts>36Pts,还没别人暴力+乱搞的分多(乱搞能100Pts...)

96分代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=500000+5;
ll T;
ll n;
ll a[N];
set<ll> S;
int main(){
cin>>T;
while(T--){
cin>>n;
S.clear();
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(n==2){
cout<<"Yes"<<endl;
}else{
bool f=0;
for(int i=1;i<=n;i++){
ll k=a[i];
if(S.count(k)){
f=1;
cout<<"No"<<endl;
break;
}
S.insert(k);
for(int i=2;i<=sqrt(k);i++){
if(k%i==0){
if(S.count(i)||S.count(k/i)){
f=1;
cout<<"No"<<endl;
break;
}else{
S.insert(i);
S.insert(k/i);
}
}
}
if(f)break;
}
if(!f)cout<<"Yes"<<endl;
}
}
return 0;
}

赛时36Pts,用时2h42min33s。

T4

不会。

期望得分:100+100+100+0=300
实际得分:100+100+36+0=236
rank:179>577
大悲
传送门

posted @   LsmQwQ  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示