AC日记——双栈排序 洛谷 P1155
思路:
二分图染+模拟;
代码:
- #include <bits/stdc++.h>
- using namespace std;
- #define maxn 1005
- #define maxm 2000005
- int n,head[maxn],E[maxm],V[maxm],cnt,col[maxn];
- int minn[maxn],ai[maxn],sta1[maxn],sta2[maxn],top1,top2;
- bool if_[maxn][maxn];
- inline void in(int &now)
- {
- char Cget=getchar();now=;
- while(Cget>''||Cget<'')Cget=getchar();
- while(Cget>=''&&Cget<='')
- {
- now=now*+Cget-'';
- Cget=getchar();
- }
- }
- void edge_add(int u,int v)
- {
- E[++cnt]=head[u],V[cnt]=v,head[u]=cnt;
- E[++cnt]=head[v],V[cnt]=u,head[v]=cnt;
- }
- bool dfs(int now,int dis,int fa)
- {
- if(col[now]) return true;
- col[now]=dis+;
- for(int i=head[now];i;i=E[i])
- {
- if(V[i]==fa) continue;
- if(dfs(V[i],dis^,now)) return true;
- }
- return false;
- }
- int main()
- {
- in(n);
- for(int i=;i<=n;i++) in(ai[i]);
- minn[n]=ai[n];
- for(int i=n-;i>=;i--) minn[i]=min(minn[i+],ai[i]);
- for(int i=;i<n;i++)
- {
- for(int j=i+;j<n;j++)
- {
- if(minn[j+]<ai[i]&&ai[i]<ai[j])
- {
- if(!if_[i][j])
- {
- if_[i][j]=true;
- if_[j][i]=true;
- edge_add(i,j);
- }
- }
- }
- }
- for(int i=;i<=n;i++)
- {
- if(!col[i])
- {
- if(dfs(i,,))
- {
- printf("");
- return ;
- }
- }
- }
- int now=;
- for(int i=;i<=n;i++)
- {
- if(ai[i]>now)
- {
- if(col[i]==) putchar('a'),sta1[++top1]=ai[i];
- else putchar('c'),sta2[++top2]=ai[i];
- }
- else
- {
- now++;
- if(col[i]==) printf("a b");
- else printf("c d");
- while()
- {
- if(sta1[top1]==now)
- {
- printf(" b"),top1--;
- now++;continue;
- }
- if(sta2[top2]==now)
- {
- printf(" d"),top2--;
- now++;continue;
- }
- break;
- }
- }
- if(i!=n) putchar(' ');
- }
- while(top1--) printf(" b");
- while(top2--) printf(" d");
- return ;
- }
AC日记——双栈排序 洛谷 P1155的更多相关文章
- AC日记——[SDOI2015]星际战争 洛谷 P3324
题目描述 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战. 在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值 ...
- AC日记——联合权值 洛谷 P1351
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- AC日记——I Hate It 洛谷 P1531
题目背景 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的 ...
- AC日记——神奇的幻方 洛谷 P2615(大模拟)
题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...
- AC日记——[CQOI2009]DANCE跳舞 洛谷 P3153
[CQOI2009]DANCE跳舞 思路: 二分+最大流: 代码: #include <cstdio> #include <cstring> #include <iost ...
- AC日记——松江1843路 洛谷七月月赛
松江1843路 思路: 三分: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #define ...
- AC日记——严酷的训练 洛谷 P2430
严酷的训练 思路: 背包: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 5005 int n,m,bi[m ...
- AC日记——[SDOI2010]大陆争霸 洛谷 P3690
[SDOI2010]大陆争霸 思路: dijkstra模板: 代码: #include <bits/stdc++.h> using namespace std; #define maxn ...
- AC日记——小魔女帕琪 洛谷 P3802
小魔女帕琪 思路: 概率公式计算: 代码: #include <bits/stdc++.h> using namespace std; ],sig; int main() { ;i< ...
随机推荐
- Codeforces Round #546 (Div. 2) 题解
Codeforces Round #546 (Div. 2) 题目链接:https://codeforces.com/contest/1136 A. Nastya Is Reading a Book ...
- ubuntu server安装kvm
参考资料: 1. https://help.ubuntu.com/community/KVM 2.http://wiki.ubuntu.org.cn/Kvm%E6%95%99%E7%A8%8B 3.h ...
- lightoj 1245
lightoj 1245 Harmonic Number (II) 题意:给定一个 n ,求 n/1 + n/2 + …… + n/n 的值(这里的 "/" 是计算机的整数除法,向 ...
- ZooKeeper概述(三)
ZooKeeper:分布式应用的分布协调服务 ZooKeeper是一个为分布式应用提供的分布的开源的协调服务.它暴露一组简单的原子操作,分布式系统可以在这之上为同步,配置管理,和组和命名实现更高级的服 ...
- vijos 1069 新年趣事之红包 Prim水题
描述 xiaomengxian一进门,发现外公.外婆.叔叔.阿姨……都坐在客厅里等着他呢.经过仔细观察,xiaomengxian发现他们所有人正好组成了一个凸多边形.最重要的是,他们每个人手里都拿着一 ...
- python模拟android屏幕高频点击工具
一.环境 windows 10 + python3.6 二.需求 1.模拟android设备高频点击事件: 2.模拟规定次数的点击事件或模拟规定时间内的点击事件: 三.code 1.模拟规定时间内的 ...
- Bzoj4870 [SXOI2017]组合数问题
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 155 Solved: 78 Description Input 第一行有四个整数 n, p, k, ...
- 【HNOI】五彩斑斓 模拟
[题目描述] 给定一个n*m的矩阵,矩阵的某些位置有一个颜色(可以没有颜色,即为0),现在你可以将矩阵的某一行或者某一列染成同一种颜色,问最少用多少步能达到目标矩阵的染色方案,输出最少步数和方案. [ ...
- AndroidStudio创建jinLibs文件夹
在文件中的buildTypes节点下添加 sourceSets.main { jniLibs.srcDir 'libs' } 如图
- Java中volatile修饰符,不稳定标记的用法笔记
今天学java特性时,发现了volatile修饰符,这个修饰符修饰的变量告诉java编译器忽略优化机制,这样的优势是: java优化后,寄存器会缓存内存里的变量,另一个线程修改这个变量的内存时,不会同 ...