首页 > 其他分享 >Acwing.第125场周赛

Acwing.第125场周赛

时间:2023-10-15 15:34:44浏览次数:74  
标签:周赛 maxn1 测试点 int ll 元素 整数 125 Acwing

比赛链接

数量

给定一个正整数 n,请你计算[1,n]范围内一共有多少个正整数满足能被 2整除,但不能被 3整除。
输入格式
一个正整数 n。
输出格式
一个整数,表示满足条件的整数的数量。

数据范围
前 3个测试点满足 1≤n≤100。
所有测试点满足 1≤n≤10000。

思路:

一个比较简单的模拟

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int ans=0;
	for(int i=1;i<=n;i++){
		if(i%2==0&&i%3!=0){
			ans++;

		}
	}
	cout<<ans<<endl;
	return 0;
	
}

三元组

给定一个长度为 n的正整数数组 a1,a2,…,an。
请你计算,一共有多少个三元组 (i,j,k)(1≤i<j<k≤n),使得 ai⋅aj⋅ak为最小可能值。
输入格式
第一行包含整数 n。
第二行包含 n个正整数 a1,a2,…,an。
输出格式
一个整数,表示满足条件的三元组的数量。
数据范围
前 3个测试点满足,3≤n≤6。
所有测试点满足,3≤n≤105,1≤ai≤109。

思路:

也是一个比较简单的模拟,注意一下数据范围就好了

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
ll  a[N];
ll deshu(ll x,ll y){
	ll ans=1;

	for(int i=x;i>=x-y+1;i--){
		ans*=i;

	}
	for(int i=1;i<=y;i++){
		ans/=i;

	}
	return ans;

}
int main(){
	
	int n;
	cin>>n;
	// std::vector<int> a(n+1);
	
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+n+1);
	// int ans1,ans2,ans3;
	// ans1=ans2=ans3=0;
	ll x=a[1];
	int flag=1;
	int y=0;
	std::vector<int> ans;
	for(int i=1;i<=n;i++){
		if(flag==4){
			break;

		}
		if(a[i]==x){
			y++;

		}
		else{
			x=a[i];
			ans.push_back(y);
			y=1;
			flag++;
		}
	}
	if(flag<=3){
		ans.push_back(y);
		
	}
	// for(int i=0;i<ans.size();i++){
	// 	cout<<ans[i]<<" ";
		
	// }
	// cout<<endl;
	
	if(ans[0]>=3){
		cout<<deshu(ans[0],3)<<endl;

	}
	else if(ans[0]+ans[1]>	=3){
		cout<<deshu(ans[0],ans[0])*deshu(ans[1],3-ans[0])<<endl;

	}
	else{
		cout<<deshu(ans[0],ans[0])*deshu(ans[1],ans[1])*deshu(ans[2],3-ans[1]-ans[0])<<endl;

	}
	return 0;

}

删除元素

给定一个长度为 n的整数序列 a1,a2,…,an,这恰好是一个 1∼n 的排列。
在一个序列中,如果一个元素满足位于它前面的所有元素均严格小于它,那么就称该元素是一个有价值元素。
特别规定,位于序列首位的元素视为有价值元素。
现在,请你删除给定序列中的一个元素,使得新序列中有价值元素的数量尽可能多。
如果可以删除的元素不唯一,则优先删除其中最小的元素。
输入格式
第一行包含整数 n。
第二行包含 n个整数 a1,a2,…,an。
输出格式
一个整数,表示要删除的元素的值。

数据范围
前 3 个测试点满足 1≤n≤5。
所有测试点满足 1≤n≤105,1≤ai≤n,保证 a1∼an 是一个 1∼n 的排列。

思路:

f[i]表示删去值为i的元素后,有价值的数增加的个数,如果我们当前考虑的数字之前有两个比他大的数字,那样删除他对其他的造不成影响,如果前面只有一个比他大的数字,那样可以把前面大的数字删除,这样多一个有价值的,如果本身就是有价值的,那样删了就少了,所以我们只需要保留最大值和次大值就行.

代码

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
// int a[N];
int f[N];

void solve(){
	int n;
	cin>>n;
	int maxn1=0,maxn2=0;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;
		if(x>maxn2){
			f[x]-=1;

		}
		else if(x>maxn1&&x<maxn2){
			f[maxn2]+=1;
		}
		if(x>maxn2){
			maxn1=maxn2;
			maxn2=x;

		}
		else if(x>maxn1){
			maxn1=x;

		}

	}
	int flag=1;
	// int x=f[1];
	for(int i=2;i<=n;i++){
		if(f[i]>f[flag]){
			flag=i;
			
		}
	}
	cout<<flag<<endl;
	
}
int main(){
	int t=1;
	while(t--){
		solve();
	}
	return 0;

}

标签:周赛,maxn1,测试点,int,ll,元素,整数,125,Acwing
From: https://www.cnblogs.com/du463/p/17765673.html

相关文章

  • AP5125 DC-DC降压恒流IC SOT23-6 过认证 9-100V 6A电源驱动线路图
    1,产品描述 AP5125是一款外围电路简单的Buck型平均电流检测模式的LED恒流驱动器,适用于8-100V电压范围的非隔离式大功率恒流LED驱动领域。芯片采用固定频率140kHz的PWM工作模式,利用平均电流检测模式,因此具有优异的负载调整率特性,高精度的输出电流特性。AP51......
  • ora-12570报错问题处理
      Ora-12570报错问题处理使用Ado.net访问Oracle数据库,执行Select查询的时候,偶尔会出现【ORA-12570:网络会话:意外的数据包读取错误】的问题,造成业务部分数据缺失。经过多方查找,确定不是Oracle服务器的问题,也就是跟Oracle配置没有关系,随后想到是否与连接池有关,百度连接池问......
  • 【牛客周赛】round14赛后总结
    碎碎念赛时没出题(真可恶吖)在上晚自习,补了一下。ACD都套着字符串的外壳,差点直接劝退,后来仔细一读发现和字符串没什么关系...大概字符串的用处是为了劝退我这种有些怂字符串的人叭。A.小红的环形字符串题意:对于给定的环形字符串s,可以删除相邻的两个相同字母,问最多删除多少个字......
  • [ARC125E] Snack
    [ARC125E]Snack经典啊,经典。很容易看出网络流模型:每个人连一个限制\(c_i\),每种糖果拆点限流\(a_i\),然后每个人向每个糖果连边,最大流就是答案。考虑转成最小割,我们相当于选出两个集合\(S\subseteq[1,n],T\subseteq[1,m]\),割就是\(\sum_{i\inS}a_i+\sum_{i\notin......
  • 题解 AcWing 359.创世纪
    题目描述给你一个\(n\)个点\(n\)条边的有向图,若选了当前节点,那么当前节点的儿子节点至少有一个不能选。求最多能选多少个点。具体思路显然是一棵基环树,因此考虑基环树dp。我们先不管环的条件,先考虑朴素的树形dp。设\(f_{x,0}\)表示\(x\)节点不选,最多可以选多少个......
  • K12531: Troubleshooting health monitors
    IssueAmonitorisaBIG-IPfeaturethatverifiesconnectionstopoolmembersornodes.Ahealthmonitorisdesignedtoreportthestatusofapool,poolmember,ornodeonanongoingbasis,atasetinterval.Whenahealthmonitormarksapool,poolmemb......
  • Listener refused the connection with the following error: ORA-12514
    1.问题在使用OracleSQLDeveloper时,遇到以下问题:状态:失败-测试失败:Listenerrefusedtheconnectionwiththefollowingerror:ORA-12514,TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnectdescriptor(CONNECTION_ID=w++gsIkwQB+f4YlRCo9RvQ==)......
  • LeetCode 125 验证回文串
    LeetCode125验证回文串1.题目地址https://leetcode.cn/problems/valid-palindrome/?envType=study-plan-v2&envId=top-interview-1502.题解这道题比较简单,思路如下:1.对源字符串进行处理,过滤掉非字母数字字符。这里需要注意:我们要将大写字母统一转换成小......
  • 安全工具合集:125个最佳网络安全工具-SecToolsOrg
    SecToolsOrg是什么SecToolsOrg是一个国外网友创建的安全工具网站,收集了125个最佳网络安全工具,网站为英文语言,网站提供评级、评论、搜索、排序和新工具建议表,该站点允许在任何平台上使用开源和商业工具,每款软件工具都有详细的介绍截图等等,感兴趣的同学可以到网站学习。英文页面......
  • P6346 [CCO2017] 专业网络 & CF1251E1 Voting(Easy Version)
    analysis这个题目我们可以考虑用贪心来做。我们不难看出来,这个题目是要让我们推出这么个结论:花小钱,办大人。整体贪心的思路就出来了,然后就是实现部分。因为我们认识的人随便是谁都可以。所以我们如果要买肯定是买最便宜的。这个性质可以用小根堆来维护。同时我们还可以维护我......