首页 > 其他分享 >2024.11.04

2024.11.04

时间:2024-11-04 19:57:15浏览次数:3  
标签:2024.11 前缀 04 int sum 奇偶性 数组

今天心情不好,不写模拟赛了

模拟赛的内容在学校写完得了,回家写小作文睡觉

模拟赛没怎么好好打。第二次打构造题,这种题和其他的是真的不一样。看来我不仅要恶补各种算法,还要锻炼一下我的思维。

猜猜今天有没有题目小链接


T1【串】

题目大意:

给出n,k(1<=n,k<=1e5),要求构造出长度为n的01串,其中1出现k次,使得“1”出现奇数次的区间数量最多。求最多的区间个数,与构造方案

解题思路:

一眼构造->一眼不会->认认真真手算了很久,结果和上次一样从头假到尾。

根本不会,于是乎只能等题解。
————
将答案数组a[n]做前缀和,容易发现,每当1出现一次,前缀和数组sum的奇偶性就会变一次。若是要“1”要在区间(l,r)出现奇数次,那么sum[r]-sum[l-1]也是奇数。

于是乎,将前缀和数组中的奇数个数统计为x,偶数个数记为y,则有x+y=n-1,我们要使ans=xy最大,即要让x,y尽量接近,这容易算出x,y。然后,我们怎么构造呢?我们只需要使数列的前k-1位都为1、根据奇偶性在数组中放入最优的剩下的“1”就行。

点击查看代码
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
int n,k;
int sum[N];
int x,y;

signed main()
{
	cin>>n>>k;
	if (k==0)
	{
		cout<<0;
		return 0;
	}
	x=y=(n+1)/2;
	if (n%2==0) y++;
	cout<<x*y<<endl;
	x--;
	for (int i=1;i<=k-1;i++)
	{
		cout<<"1 ";
		sum[i]=sum[i-1]+1;
		if (sum[i]%2==0) x--;
		else y--;
	}
	for (int i=k;i<=n;i++)
	{
		if (x==0||y==0)
		{
			cout<<"1 "; 
			for (int j=i+1;j<=n;j++) cout<<"0 ";
			break;
		}
		cout<<"0 ";
		sum[i]=sum[i-1];
		if (sum[i]%2==0) x--;
		else y--;
	}
	return 0;
}

标签:2024.11,前缀,04,int,sum,奇偶性,数组
From: https://www.cnblogs.com/Myyy-L/p/18526123

相关文章

  • 基于springboot+vue实现的网上预约挂号管理系统 (源码+L文+ppt)4-104
      结合现有六和医院网上预约挂号管理系统的特点,应用新技术,构建了六和医院网上预约挂号管理系统。首先从需求出发,对目前传统的六和医院网上预约挂号管理进行了详细的了解和分析。根据需求分析结果,对系统进行了设计,并划分为管理员、用户和医生三个角色:主要功能包括用户、医生......
  • 基于springboot+vue实现的网上预约挂号管理系统 (源码+L文+ppt)4-104
      结合现有六和医院网上预约挂号管理系统的特点,应用新技术,构建了六和医院网上预约挂号管理系统。首先从需求出发,对目前传统的六和医院网上预约挂号管理进行了详细的了解和分析。根据需求分析结果,对系统进行了设计,并划分为管理员、用户和医生三个角色:主要功能包括用户、医生......
  • 基于springboot+vue实现的网上预约挂号管理系统 (源码+L文+ppt)4-104
      结合现有六和医院网上预约挂号管理系统的特点,应用新技术,构建了六和医院网上预约挂号管理系统。首先从需求出发,对目前传统的六和医院网上预约挂号管理进行了详细的了解和分析。根据需求分析结果,对系统进行了设计,并划分为管理员、用户和医生三个角色:主要功能包括用户、医生......
  • ubuntu20.04换国内源
    备份源文件sudocp/etc/apt/sources.list/etc/apt/sources.list.backup修改源文件sudonano/etc/apt/sources.list更新源sudoaptupdatesudoaptupgrade国内常用源阿里源debhttp://mirrors.aliyun.com/ubuntu/focalmainrestricteduniversemultiversedeb-s......
  • 2024-11-04_Mon_14:10 - 帕金森定律:支出永远与收入成正比
    2024-11-04_Mon_14:10-帕金森定律:支出永远与收入成正比​​【网图,侵删】‍财富,不断增加净值增加净值的途径增加收入增加存款增加投资获利减低消费支出永远与收入成正比穷人认为“存款,是有钱人的做的”,“我现在没钱,等我有钱了,在考虑存款”支出永远与收入成......
  • AbMole|RS 504393(CAS号300816-15-3)
    RS504393是一种高度选择性的CCR2趋化因子受体拮抗剂,作用于人重组CCR2和CCR1受体,IC50值分别为89nM和>100μM。RS504393抑制MCP-1诱导的趋化性,IC50为330nM。RS504393处理显著抑制过敏原诱导的β-己糖胺酶释放。生物活性RS504393是一种高度选择性的CCR2......