博客
关于我
牛客IOI周赛19-普及组
阅读量:360 次
发布时间:2019-03-04

本文共 1736 字,大约阅读时间需要 5 分钟。

Powered by:AB_IN 局外人

元组组成的列表 s o r t sort sort。用个 l a m b d a lambda lambda即可。
按照长度排序:

  • 如果最大的和次大的不相等,那么输出最大的。
  • 如果最小的和次小的不相等,那么输出最小的。
  • 否则输出 C C C
for _ in range(int(input())):    a=input()    b=input()    c=input()    d=input()    lst=[(len(a),"A"),(len(b),"B"),(len(c),"C"),(len(d),"D")]    lst.sort(key=lambda x:x[0])    if lst[0][0]!=lst[1][0]:        print(lst[0][1])    elif lst[3][0]!=lst[2][0]:        print(lst[3][1])    else:        print("C")

首先先把基本表打出来,从 1 1 1开始到 n n n 0 , 1 , 3 , 6 , 10 , 15 … … 0,1,3,6,10,15…… 0,1,3,6,10,15

将输入的列表分别减去模板,差值作为下标利用 m a p map map进行自增,同一特质的序列差值都是一样的,所以看差值自增最多的,就是改最少的序列

#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=1e8+10;ll n,b[N],x,ans;unordered_map <ll, ll> a;int main(){       cin>>n;    for(int i=1;i<=n;i++) b[i]=b[i-1]+i-1;    for(int i=1;i<=n;i++){           cin>>x;        a[x-b[i]]++;        ans=max(ans,a[x-b[i]]);    }    cout<<n-ans<<endl;}

先把两个都是 > k \gt k >k的边用并查集连起来,再把含有 k ≤ k\le k的边进行判断,如果这俩本身连起来了,那么这俩就得拆开, a n s + + ans++ ans++。如果没有连起来,就让他们连起来。

#include<bits/stdc++.h>using namespace std;const int N=2e6+10;int n,m,k,ans;int fa[N],a[N],b[N];inline void finit (){   	for(int i=1;i<=n;i++) fa[i]=i;}inline int find(int x) {       if(fa[x] == x) return x;    return fa[x] = find(fa[x]);}inline void join(int a,int b){       int a1=find(a),b1=find(b);    if(a1!=b1) fa[a1]=b1;}int main(){       cin>>n>>m>>k;    finit();    for(int i=1;i<=m;i++){           cin>>a[i]>>b[i];        if(a[i]>k && b[i]>k) join(a[i],b[i]);    }    for(int i=1;i<=m;i++){           if(a[i]<=k || b[i]<=k){               int u=find(a[i]);            int v=find(b[i]);            if (u==v) ans++;            fa[u]=v;        }    }    cout<<ans<<endl;    return 0;}

完结。

转载地址:http://yzfg.baihongyu.com/

你可能感兴趣的文章
使用BAT批处理 匹配查找指定文件夹,并在当文件夹下创建空文件
查看>>
wxpython的Hello,World代码探索
查看>>
【数字图像处理】OpenCV3 学习笔记
查看>>
【单片机开发】智能小车工程(经验总结)
查看>>
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
查看>>
KeepAlived介绍、配置示例、KeepAlived配置IPVS、调用脚本进行监控
查看>>
web服务器处理网络请求过程、I/O与I/O模型介绍、select、poll、epoll介绍
查看>>
【Numpy学习】np.count_nonzero()用法解析
查看>>
Scala集合-数组、元组
查看>>
Flink Standalone集群安装和部署
查看>>
JAVA网络爬虫01-http client爬取网络内容
查看>>
04 程序流程控制
查看>>
java并发编程(1)
查看>>
C++&&STL
查看>>
双指针算法思想
查看>>
分组背包问题
查看>>
子集(LeetCode 78)
查看>>
旋转数组的最小值
查看>>
1004 Counting Leaves (30分)
查看>>
1093 Count PAT‘s (25分) 含DP做法
查看>>