Simone and graph coloring(最长下降子序列)

【第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛】Simone and Graph Coloring #include<bits/stdc++.h> using namespace std; const int N = 1e6 + 10; int n, T, a[N], b[N], id[N], ans[N], tot; int main() { scanf("%d", &T); while (T--) { scanf("%d", &n), tot = 0; for (int i = 1; i <= n; i++) 阅读详情

题目链接

比赛的时候,用线段树做的。之后发现,这题就是一个裸的最长下降子序列的题目。主要难点是它的n的范围是1e6,要优化为nlogn级别。

#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long LL;
const int N = 1e6 + 10;
int n, top, c, t;
int ans[N], a[N];
int main() {
    scanf("%d", &t);
    while (t--) {
        top = 0;
        scanf("%d", &n);
        a[0] = inf;
        for (int i = 0; i < n; i++) {
            scanf("%d", &c);
            if (c < a[top]) {
                a[++top] = c;
                ans[i] = top;
            } else {
                int l = 1, h = top, m;
                while (l <= h) {
                    m = (l + h) / 2;
                    if (c < a[m])
                        l = m + 1;
                    else
                        h = m - 1;
                }
                a[l] = c;
                ans[i] = l;
            }
        }
        printf("%d\n", top);
        for (int i = 0; i < n; i++) {
            if (i == n - 1)
                printf("%d\n", ans[i]);
            else
                printf("%d ", ans[i]);
        }
    }
}
抖音自定义卡片链接(图文链接) 抖音自定义可以自定义标题,打开链接,和展示图片 效果 主要代码 public void sendMessage(String conversationId, Object aBaseContent) throws Exception { // C233282u5.LIZIZ.LIZ().LIZIZ(LIZ).LIZ(obtain).LIZ(hLn).LIZ((AbstractC59811HHc) new H9Q()); Object HOa = ReflectionUtil 阅读详情

相关推荐

C语言的文件读取与写入操作

学了一年的C语言了,现在回过头来做一下总结。并且博客开了挺长一段时间却没有谢什么实际的东西。现在做下总结,对之后的学习帮助应该挺大的。与大家共勉! 现在,我先来介绍一下C语言的文件读取与写入的原理和具体操作方法。 C语言文件读取与写入是通过将文件看成一个字符序列进行读入和写出的。所以读取与写入文件就用到了指针,而这个指针是一个特殊的指针,我们称为文件指针。 指针名称是

wzyxdwll的博客 3万+

Simone and Graph Coloring(下降子序列,逆序对,二分优化)

Simone and Graph Coloring (nowcoder.com) 题意: ​ n个数的序列,逆序对之间有一条边,这样就成了n个节点的图,现在对图进行染色,要求同一条边上的两点异色,求最小颜色数,并将每一点染色情况输出。 分析: ​ 因为逆序对成边,所以下降子序列单独来看,就是一个完全图,对完全图染色,颜色数等于节点数。所以最小颜色数即为最长下降子序列长度。 Code: #include <bits/stdc++.h> using namespace std; const i

yezzz的博客 436

当NetApp 7-mode遇到单控制器故障:HA模式手动修复全记录

本文详细记录了NetApp 7-mode存储系统在单控制器故障时的应急修复过程,包括HA配置重建、磁盘初始化和业务恢复等关键步骤。通过实战案例解析如何解决`VIA Interconnect is down`等典型问题,为企业级存储系统的高可用保障提供实用指南。

yolo5detector的博客 247

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)Simone and graph coloring

题目大意:给你t组测试数据,每一组有n个数,这n个数中每一对逆序对可以建一条无向边,由此可以得到一张图,规定每两个相连的点不能染成同一个颜色,问最少需要几种颜色,以及每一个点应该被染成什么颜色。 思路:这个题的做法有很多种,比如线段树啊什么的,这里先是把他当成一个思维题做的。具体细节看代码注释。 #include <iostream> #include <cstring> #include <cstdio> #include <cmath> usin..

weixin_54562114的博客 310

Echats-wordcloud 文字云图的踩坑点【Unknown series wordCloud】

一直都是报 【ECharts Unknown series wordCloud】这玩意可能要刷脸,祝你好运吧~

Sky_Bug的博客 2418

L. Simone and graph coloring

L Simone and graph coloring 链接:https://ac.nowcoder.com/acm/contest/12548/L 题意:给定一个 n 的排列,每两个点直接如果存在逆序就连一条边。请你对这 n 个点染色,要求任意一条边的两点颜色不同,且使用的颜色数量最少,输出染色方案。 思路:最直接的想法,那就是枚举每一个点,然后遍历它的每一条边,然后对自己的后继颜色取 mex 。但是这样的边最极端的情况有 (1+n)n2\frac {(1+n)n} 22(1+n)n​ 条,显然不能围绕边

qq_17080419的博客 913

【我的Android进阶之旅】Android自定义View实现一个游戏摇杆,来实现监听遥动的方向或者监听摇动的角度的功能

一、需求描述 去年有个需求,需要使用自定义View实现一个游戏摇杆,来识别上下左右摇动的方向。 有点类似下面这样的王者荣耀游戏摇杆的效果 二、业界已有的参考资料 在下面这篇博客介绍了如何自定义游戏摇杆 2.1 博客介绍 Android自定义摇杆 2.1.1 功能 支持自适应大小 支持2个方向、4个方向、8个方向的摇动监听 支持摇动角度获取 可选回调模式 支持可摇动区域自定义 支持摇杆自定义 支持设置图片、色值、Shape图形 2.1.2 效果图 2.1.3 设置回调方式 setCallBac

字节卷动 1409

2021ICPC昆明站L-Simone and graph coloring

题目链接 题意:一个序列p,所有的逆序对间直接存在一条边,现在将这些点染色,相邻的点颜色不能相同,问最少用多少种颜色,并输出每个点的颜色 解析:不难想到的是,最少的颜色种类为最长单调递减序列的长度,现在考虑每个点染什么颜色的问题,假设第i个点染得颜色为x,那么i节点之前至少存在一个已i节点结尾的最长单调递减序列,长度为x,因为单调递减序列中的点两两相连,所以需要的颜色为序列的长度。我们通过上述解释可以得到一种涂色方式:某节点的颜色为以该节点结尾的最长单调递减序列的长度。 AcCode #include&lt

donnameの博客 633

基于FreeRedis实现的.NET Redis客户端缓存缓存键条件优雅过滤

在.NET开发中,使用Redis作为缓存解决方案是很常见的。FreeRedis是一个功能强大的Redis客户端库,它提供了丰富的功能和灵活性,使我们能够轻松地与Redis进行交互。在本文中,我们将探讨如何使用FreeRedis实现缓存键条件的优雅过滤,以提高缓存的效率和准确性。

RzuScala的博客 329

【K8S系列】在 Kubernetes 中使用 Prometheus 进行监控的详细指南

Prometheus 是一个开源的监控和报警工具,广泛用于 Kubernetes 环境中。本文将深入探讨如何通过 Kubernetes 中的注解配置 Prometheus 的抓取设置,以高效监控服务,并确保系统的可靠性和可维护性。

颜淡慕潇 2万+

Simone and Graph Coloring(最长逆序列)

题目描述 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nn, and she finds that if she connects each inverse pair, she will get a graph. Formally, for the given permutation, if iaj ​, then

木静音yy的博客 610

Win11 系统下 VisualStudio2022 配置点云库 PCL1.11.1

安装完成之后打开文件夹E:\PCL 1.11.1\3rdParty\OpenNI2双击 并选择路径 (E:\PCL 1.11.1\3rdParty\OpenNI2) 安装即可全部安装完成之后,将pcl-1.11.1-pdb-msvc2019-win64.zip解压后的 .pdb文件拷贝到(E:\PCL 1.11.1\bin)中设置环境变量:到此,环境变量配置完成。

qq_53545309的博客 1127

2020ICPC昆明 L.Simone and graph coloring(思维+nlog(n)的最长下降子序列)

LINK 给定长度nnn的数组aaa 若i<j&&ai>aji<j\&\&a_i>a_ji<j&&ai​>aj​,那么i,ji,ji,j之间有一条无向边 使用最少的颜色给这个图染色,使得每条边连接的两个顶点颜色都是不同的 这种形如逆序对的连边方式,最后的图应该是一个DAGDAGDAG iii会和j∈[1,i−1]&&aj>aij\in[1,i-1]\&\&a_j>a_ij∈[1,

jziwjxjd的博客 624

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)I.Simone and graph coloring【最长下降子序列 / 树状数组】

Link 树状数组 / 最长下降子序列 题意 给定n个数字,对所有的逆序对建边,构成一个无向图,现对所有的点进行染色,求一种染色方案,使得相邻结点颜色不同,且使用颜色数最少 分析 若模拟情况,会发现逆序对数最多是n2n^2n2数量级,所以建边的话会炸时空,显然考虑找性质规律 任找两组数据进行模拟 4 3 2 1 —> 1 2 3 4 5 4 3 1 2 —> 1 2 3 4 4 发现第i号数的答案为以i为结尾的最长下降子序列 考虑两种方法 用数据结构,即树状数组:对于第i号数,找到

while_you的博客 218

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

2020 ICPC KUNMING L (求最长下降子序列 线段树 or DP)

L.Simone and Graph Coloring (求最长下降子序列) 题目        给你一个从1到n的序列,如果存在逆序对<a[i], a[j]>,那么a[i], a[j]之间有一条边。这样,这些点能组成一张图。现在给这些点染色,要求相连的两个点之间的颜色不能相同。问你最小需要多少种颜色把图全部染完,且输出每个点需要染的颜色,染色编号从1到n。        只要有逆序对,就有边,就不能颜色相同

Chancy_Lu的博客 322

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2020ICPC 昆明站 个人题解

title : 2020ICPC 昆明站 个人题解tags : ACM,题解,练习记录。

SC_Linno的博客 437

2021ICPC昆明 L.Simone and graph coloring

题目链接 题目描述 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nnn , and she finds that if she connects each inverse pair, she will get a graph. Formally, for the given permutation, if i<

sky123博客 2272

Simone and Graph Coloring(思维,线段树,二分)

题目描述 链接 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nnn, and she finds that if she connects each inverse pair, she will get a graph. Formally, for the given permutation, if i<ji&

m0_51864047的博客 307

Simone and graph coloring ( 2020ICPC-昆明 ) (思维)

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) 题解参考链接1 题解参考链接2 题意 给出一个长度为n的排列,排列中每个逆序对之间连接一条无向边。最终构成一个无向图。现在请你给这个无向图染色,使得每个相邻的节点颜色均不相同。问最少需要多少种颜色。(n≤1e6n \leq 1e6n≤1e6) 输入 2 4 1 3 4 2 2 1 2 输出 2 1 1 1 2 1 1 1 思路①-树状数组 算法:从 n~1 枚举每一个数字 i ,在排列中找出数字i左边比 i 大的数,从这些数中选出颜色

QQ2530063577的博客 793

2021.4 ICPC昆明站L:Simone and graph coloring

problem title:Simone and graph coloring 题目描述 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nn, and she finds that if she connects each inverse pair, she will get a graph. Formally, fo

qq_44647282的博客 291

2021 ICPC昆明站——L-Simone and graph coloring(思维,线段树 / 二分优化LIS)

题意: 给出一个长度为 n 的全排列数,对于每个逆序对之间连一条边,构成一个图(可能不连通) n≤1e6。 现要将该图染色,满足任意相邻两点颜色不同。 问最少用多少种颜色?输出染色方案。 T组测试样例,T≤1e6; sum{n} ≤ 1e6。 思路: 如果建边跑的话,最坏情况下光是建边就是 N2N^2N2,所以建边不可行。 最多1e6种测试样例,所以应该是思维题。 对于一个位置 i 上的数 x,其需要和后面比 x 小的数所在位置相连,两个位置上颜色不能相同。 为了使得染色种类最少,而且保证相邻位置不能同一颜

Mr_dimple的博客 336

[线段树][思维]Simone and graph coloring 第45届icpc区域赛昆明站L

题目描述 Simone, a student of Graph Coloring University, is interested in permutation. Now she is given a permutation of length nnn, and she finds that if she connects each inverse pair, she will get a graph. Formally, for the given permutation, ifi<ji&lt.

Cloth的博客 205

ICPC区域赛 昆明 Simone and graph coloring

#include<bits/stdc++.h> using namespace std; const int maxn=1e6+10; int n; int a[maxn]; int tree[maxn<<2]; int res[maxn]; void build(int p,int l,int r){ tree[p]=0; if(l==r){ scanf("%d",&a[l]); return ; } int.

iuk11的博客 329

L.Simone and graph coloring(思维+线段树)

https://ac.nowcoder.com/acm/contest/12548/L 思路: 比如567432 4的答案就是之前比他的大的数,里面找一个,涂色编号最大的+1。找编号最大的可以把线段树的[l,r]变成维护值域,然后每次查比当前数字大的数的染色最大值。 因为之前的染色最大值就是其一个联通块里最极限的情况,此时相连必然要再+1 ...

代码笔记本 291

第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) L-Simone and graph coloring

题目链接 思路 这道题,理解后就是如果存在一个从左往右看是单减的序列,那么他们的颜色一定不相同,那我们可以从右往左求LIS,对于第i个元素,以它结尾的最长上升子序列长度是多少就可以定为它的颜色。 代码 #include<bits/stdc++.h> using namespace std; const int N = 1e6+9; int a[N],ans[N],low[N]; int main() { int t; cin>>t; while(t--) { int

qq_45769627的博客 303
上一篇: L1-8 估值一亿的AI核心代码 (20 分)
下一篇: Problem L. Little Difference
to_xf
博客等级 码龄7年 31粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值