首页 > 其他分享 >LGR-147-Div.3】洛谷网校 7 月普及组月赛 & yLOI2022 总结

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

时间:2023-08-05 18:44:39浏览次数:57  
标签:147 洛谷 int ll long 网校 首项 100 const

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

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

根据题目,我们略加思考就知道,首项不同,比首项即可;首项相同,看\(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

T4

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

比赛时,手玩几个样例,可以发现,两个数时,一定成立。多个数时,必须让他们两两互质,才能成立。互质可以用\(log_2N\)的方法找因数并标记。这样做,其实是\(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\)
大悲
传送门

标签:147,洛谷,int,ll,long,网校,首项,100,const
From: https://www.cnblogs.com/FaceLuck/p/17608389.html

相关文章

  • 洛谷 P1553 数字反转(升级版)
    题目描述给定一个数,请将该数各个位上数字反转得到一个新数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。百分数的分子一定是整数,百分数只改变数字......
  • 洛谷 P7911 [CSP-J 2021] 网络连接 题解
    写在前面一道普及级别的题目。CSP-J全国统一命题2021年第三题。本题解来自于一位真正的大佬。传送门https://www.luogu.com.cn/blog/xyf007/solution-p7911。题面信息来源于洛谷。请访问https://www.luogu.com.cn/problem/P7911。声明:本题解非商业用途,一切侵权行为请联系作......
  • 洛谷 U321190 麻将 加强加强版 题解
    Description给定一副\(k\)张牌的麻将牌,求能「听」哪些牌。对于所有数据,\(1\leqk\leq2\times10^5\)。link:https://www.luogu.com.cn/problem/U321190Solution算法零枚举「听」的牌,用状压DP或者贪心判断。时间复杂度\(\mathcal{O}(2^n\text{poly}(n))\)或\(\mathca......
  • 洛谷-P9485 题解
    写在前面:这是蒟蒻交的第一篇绿题题解(大祭),因为线性做法比较难想,本篇会着重讲述用RMQ问题求解,并尽可能用清晰明了的图片和简易的文字讲明白。正文最坏时间复杂度:\(\mathcal{O}(\sumn+\log\sumn)\)在求解之前,先让我们想个问题,如何求解积水格数?再简单点,对于每个\(i\),其积水......
  • 洛谷 P9489 ZHY 的表示法 题解
    Description给定\(\{x_n\}\),\(y\)为任意实数,求出在\([l,r]\)内\(\displaystyle\sum_{i=1}^{n}\lfloor\dfrac{y}{x_i}\rfloor\)有多少种取值。link:https://www.luogu.com.cn/problem/P9489Solution可以表示出的取值一定能被为某个\(x_i\)的倍数的\(y\)表示出。根据......
  • 洛谷 P3243 [HNOI2015] 菜肴制作 - toposort 需自己理解翻译题面
    P3243[HNOI2015]菜肴制作题目描述知名美食家小A被邀请至ATM大酒店,为其品评菜肴。ATM酒店为小A准备了\(n\)道菜肴,酒店按照为菜肴预估的质量从高到低给予\(1\)到\(n\)的顺序编号,预估质量最高的菜肴编号为\(1\)。由于菜肴之间口味搭配的问题,某些菜肴必须在另一些......
  • 洛谷 P9479 - [NOI2023] 桂花树
    显然,条件一等价于在\(T'\)中,\(1\simn\)组成的虚树等于它本身。条件二等价于\(1\simi\)组成的虚树上点的标号不超过\(i+k\)。我们考虑在原树的基础上依次添加\(n+1\simn+m\)这\(m\)个点。添加一个点\(i\)时,它与原树的位置关系可能有以下几种:挂在原树上某......
  • 洛谷P4407 电子词典
    读完这题我马上就想到了题解trie+dfs的爆搜解法,这种解法思维难度很低,算个模拟,很容易想到但是我们稍微计算一下复杂度,就可以发现达到了\(1e8\)级别(\(26*20*20*1e4\),即对于每一个待查字符串(\(1e4\)),枚举每一个位置(\(20\)),每一个位置枚举26个字母(\(26\)),然后再在trie树上匹配(\(20\)))害......
  • Educational Round 147
    前言:非常好场次编号,爱来自小粉兔。唉,GF。A.shaber模拟。B.shaber。找最大的满足\(a_{l\simr}\)和\(a'_{l\simr}\)有不同,且\(a'_{l\simr}\)递增的\(\langlel,r\rangle\)即可。\(\mathcalO(n)\)。C.shaber。枚举字符\(c\),非\(c\)最大连续段长是\(k\)的......
  • 洛谷 P1347 排序 - 拓扑排序
    P1347排序题意依次给一些具有排序关系的序列,问你在能否在若干个序列之后确定元素的顺序、判断元素关系存在矛盾、判断无法确认元素顺序思路对于每一个排序关系均进行toposort,后面就是toposort判环(出现矛盾),toposort判顺序,无法确认唯一关系。详见代码或看洛谷题解区代码......