首页 > 其他分享 >贪心,构造学习笔记

贪心,构造学习笔记

时间:2023-08-20 11:55:21浏览次数:28  
标签:一个点 int 构造 右部 笔记 左部 leqslant 贪心

贪心构造不会

黄题绿题懵逼

横批:依托答辩

\(\text{CF1764C}\)

题目描述

有一些点,每一个点有一个点权 \(a_i\) 。你可以在任意点之间连边,最终的图需要满足不存在 \(a,b,c\) 满足 \(a_a \leqslant a_b \leqslant a_c\) 并且 \(ab,bc\) 之间有连边。

思路点拨

我们连出来的图一定可以被划分为一个二分图。不然就会存在奇环,而不论你怎么构造,奇环上就是会有一条路径不满足条件。

所以我们可以枚举一个值域的划分,假设枚举 \(w\) 这个值,那么我们让 \(a_i \leqslant w\) 的点进入左部,反之进入右部。我们最终可以让左部的每一个点都连向右部的每一个点,这样就可以满足条件。因为全部的二分图中,想要连边最多,全部的情况我们都考虑到了。

但是还存在一种极端的情况,就是划分不出来一个二分图是的左部和右部都非空,也就是说,全部的值都相等。这个时候,我们发扬人类智慧,让最终的图不存在长度为 \(2\) 的路径就可以了,所以答案就是 \(\lfloor\dfrac{n}{2} \rfloor\) 。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int MAXN=2e5+10;
int T,n,a[MAXN];
signed main(){
	cin>>T;
	while(T--){
		cin>>n;
		for(int i=1;i<=n;i++) cin>>a[i];
		sort(a+1,a+n+1);
		int ans=0;
		for(int i=1;i<n;i++)
			if(a[i]!=a[i+1])
				ans=max(ans,i*(n-i));
		cout<<max(ans,n/2)<<endl; 
	} 
	return 0;
}

标签:一个点,int,构造,右部,笔记,左部,leqslant,贪心
From: https://www.cnblogs.com/Diavolo/p/17643803.html

相关文章

  • 基于Springboot学生读书笔记共享
    本文主要论述了如何使用JAVA语言开发一个读书笔记共享平台,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计......
  • openGauss学习笔记-45 openGauss 高级数据管理-物化视图
    openGauss学习笔记-45openGauss高级数据管理-物化视图物化视图是相对普通视图而言的。普通视图是虚拟表,而物化视图实际上就是存储SQL执行语句的结果,可以直接使用数据而不用重复执行查询语句,从而提升性能。按照刷新方式物化视图分为两种:全量物化视图:仅支持对已创建的物化视图......
  • 读发布!设计与部署稳定的分布式系统(第2版)笔记33_混沌工程
    1. 康威定律1.1. 梅尔文·康威1.1.1. MelvinConway1.1.2. 1968年1.1.3. 在设计系统时,组织受制于其自身的沟通结构,这使得它设计的系统结构与沟通结构相一致。1.1.3.1. 社会学现象1.2. 要在系统内部或系统之间构建接口,两个人必须以某种方式沟通有关该接口的规范1.2.......
  • ON JAVA 8读书笔记|前言
    ONJAVA8这本书是基于Java8的特性进行编程教学的,同时也根据Java11、Java17这三大LTS【长期支持版本】版本新特性做了关键更新。 Java8最大的改进是引入了函数式编程【lambda表达式、流(stream),函数式基本类型(functionalprimitive)】,这也是Java8经久不衰的原因,是里程碑......
  • *【学习笔记】(10) 块状链表
    块状链表(尚未完善)对于线性表,可以\(O(1)\)的访问,但是插入和删除操作是\(O(n)\)对于链表,可以\(O(1)\)的进行插入和删除,但是是\(O(n)\)的访问。于是本着分块的思想,有了块状链表。大概长这个样子。每个块的大小数量级在\(O(\sqrt{n})\),块数的量级\(O(\sqrt{n})\)主......
  • *【学习笔记】(23) 常用距离算法详解
    本文主要讲述这三种常见距离算法:欧氏距离,曼哈顿距离,切比雪夫距离。1.欧氏距离欧氏距离是最易于理解的一种距离算法。在数学的平面直角坐标系中,设点\(A,B\)的坐标分别为\(A(x_1,y_1),B(x_2,y_2)\),求点\(A,B\)之间的距离,我们一般会使用如下公式:\[\left|AB\right|=......
  • 「学习笔记」莫比乌斯反演
    「学习笔记」莫比乌斯反演点击查看目录目录「学习笔记」莫比乌斯反演前置知识整除分块积性函数线性筛任意积性函数莫比乌斯反演莫比乌斯函数莫比乌斯反演公式例题[HAOI2011]ProblembYY的GCD[SDOI2014]数表DZYLovesMath[SDOI2015]约数个数和[SDOI2017]数字表格于神之......
  • Spring Boot学习笔记day01
    SpringBoot项目结构说明项目____pom.xml:用于管理项目依赖的|_src|_main|_java:蓝色的,写java源代码的|_resource:存放静态资源文件(static目录下)、项目配置文件application.properties、模板文件(template目录下)|_test|_java......
  • 红帽认证RedHat-RHCSA shell的基本应用用户和组管理网络配置和防火墙管理笔记汇总
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • tracer ftrace笔记(20)—— Systrace中tag汇总
    一、视频显示1.HW_VSYNC_ON_XXX(1)类型布尔值,1表示HWVSYNC信号开关被打开,0表示开关被关闭。(2)时机HWVYSNC硬件信号被打开和关闭的时候。(3)解释HW_VSYNC_ON_XXX后面的XXX一般是一串数字,代表的是displayid,如果你的机器有外接了显示器,那么可以通过displayid......