2020-10-10为了准备CCPC,师兄下午拉了场ICPC练习让我们模拟,负责读题的菜鸡晚上回来重新做了模拟场上有思路的题QAQ

文章目录

  • A - Berstagram
  • B - The Feast and the Bus
  • F - Data Center
  • H - Happy Birthday
  • J - The Parade
  • L - Divide The Students
  • N - Wires

A - Berstagram

传送门 CodeForces-1250A

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
const int MAX=1e5+7;
map<int,int>mp;
int h[MAX],l[MAX],a[MAX];
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=n;i++)mp[i]=h[i]=l[i]=a[i]=i;while(m--){int x,y,ind;cin>>x;ind=mp[x];if(ind==1)continue;y=a[ind-1];swap(a[ind],a[ind-1]);mp[x]=ind-1; mp[y]=ind;h[x]=min(h[x],ind-1);  l[x]=max(l[x],ind-1);h[y]=min(h[y],ind);  l[y]=max(l[y],ind);}for(int i=1;i<=n;i++)cout<<h[i]<<" "<<l[i]<<endl;return 0;
}

B - The Feast and the Bus

传送门 CodeForces-1250B

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
ll a[10005];
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int n,k,x;cin>>n>>k;for(int i=0;i<n;i++)cin>>x,a[x]++; sort(a+1,a+1+k);ll ans=LLONG_MAX;for(int i=a[k];i<=(a[k-1]+a[k]);i++){int l=1,r=k,tmp=0;while(l<=r){if(l<r&&(a[l]+a[r])<=i)l++,r--;else r--;tmp++;}ans=min(ans,1ll*i*tmp);}cout<<ans;return 0;
}

F - Data Center

传送门 CodeForces-1250F

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
const ll inf=0x3f3f3f3f;
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll n,ans=inf;cin>>n;for(ll i=1;i*i<=n;i++)if(n%i==0)ans=min(ans,2*(i+n/i));cout<<ans;return 0;
}

H - Happy Birthday

传送门 CodeForces-1250H

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
const int inf=0x3f3f3f3f;
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--){vector<int>c(10,0);for(int i=0;i<10;i++)cin>>c[i];int mn=inf,id=-1;for(int i=1;i<=9;i++){if(mn>c[i]){mn=c[i]; id=i;}}if(mn<=c[0])for(int i=1;i<=mn+1;i++)cout<<id;else {cout<<1;for(int i=1;i<=c[0]+1;i++)cout<<0;}cout<<endl;}return 0;
}

J - The Parade

传送门 CodeForces-1250J

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
const int MAX=1e6+7;
ll a[MAX],n,k;
bool check(ll mid){ll r=0,cnt=0;for(int i=1;i<=n;i++){if(a[i]+cnt<mid)cnt=0;r+=(a[i]+cnt)/mid;cnt=(a[i]+cnt)%mid; } if(r>=k)return 1;return 0;
}
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--){cin>>n>>k;for(int i=1;i<=n;i++)cin>>a[i];ll l=1,r=0x3f3f3f3f3f3f3f,ans=0;while(l<=r){ll mid=(l+r)/2;if(check(mid))ans=mid,l=mid+1;else r=mid-1; } cout<<k*ans<<endl;}return 0;
}

L - Divide The Students

传送门 CodeForces-1250L

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--){int a,b,c; cin>>a>>b>>c;if(a<c) swap(a,c);int x=a/2,y=a-a/2,z=c;int h=max(y,z);int sum=3*h-x-y-z;if(b<=sum) cout<<h<<endl;else{b-=sum;cout<<h+b/3+(b%3?1:0)<<endl;}}return 0;
}

N - Wires

传送门 CodeForces-1250N

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
struct edge{ll to,id;
};
map<ll,vector<edge>>mp;
map<ll,bool>vis;
vector<pair<ll,ll> >ans;
int f;
void dfs(ll x){vis[x]=1;ll cnt=0;for(auto &it:mp[x]){if(!vis[it.to]){dfs(it.to);cnt++;}}if(!cnt&&!f){f=1;ans.push_back({mp[x][0].id,x});}
}
int main(){ios_base::sync_with_stdio(0);cin.tie(0),cout.tie(0);int t;cin>>t;while(t--){mp.clear();vis.clear(); ans.clear();ll n;cin>>n; for(ll i=1;i<=n;i++){ll u,v;cin>>u>>v;mp[u].push_back({v,i});mp[v].push_back({u,i});vis[u]=vis[v]=0;}for(auto it:vis){if(!vis[it.first]){f=0;dfs(it.first);   }}if(ans.size()<=1)cout<<0<<endl;else {cout<<ans.size()-1<<endl;for(int i=1;i<ans.size();i++)cout<<ans[i].first<<" "<<ans[i].second<<" "<<ans[0].second<<endl;}       } return 0;
}

2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest 部分题解ABFHJLN相关推荐

  1. 2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest Smash the Trash(二分)

    2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest Smash the Trash(二分) 链接 题意: 思路:二分答案 ...

  2. 2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest X-Magic Pair(gcd)

    2021-2022 ICPC, NERC, Southern and Volga Russian Regional Contest X-Magic Pair(gcd) 链接 题意:给出a,b,有两种选 ...

  3. 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest K. The Robot

    翻译: 有一个机器人在一个没有尽头的方格场上.最初,机器人位于坐标为(0,0)的单元中.他将执行由一串大写拉丁字母"L"."R"."D".& ...

  4. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest

    A.Berstagram 题意:起始数列是1,2,3,--,n,给你m个操作x,表示将数字x和前一个位置的数交换,如果已经在第一个则不做操作,求每个数能到达的位置的最大和最小值: 分析:扫一遍模拟,更 ...

  5. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest B. The Feast and the Bus (经典贪心)

    题目链接 思路:先把k个团队的人数从大到小排序,我们发现s最小是num[1],那么s最大是num[1]+num[2]?可是我们这样想的话容易被毒瘤数据tle,所以还得优化一下,我们可以想我们最优的方案 ...

  6. 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest B. Bakery

    题目链接 Monocarp would like to open a bakery in his local area. But, at first, he should figure out whe ...

  7. 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest A. LaIS

    题目链接 Let's call a sequence b1,b2,b3-,bk−1,bkb_1, b_2, b_3 \dots, b_{k - 1}, b_kb1​,b2​,b3​-,bk−1​,bk ...

  8. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest J. The Parade(二分)

    题目链接 题意:给定身高为1-n的士兵数量,现在要求士兵分成k排,要求每一排士兵身高差不能超过1,求最多有多少士兵可以拿出来排. 思路:又是一个裸的二分题,但是写check函数的时候确遇到了bug.. ...

  9. 2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest J. The Parade(二分+贪心)

    题目链接 大意:给你一个组士兵,告诉你身高iii的人数aia_iai​,让你放在kkk行,使得每行人数相同且每行中士兵身高差不超过111,问你最多能放多少士兵满足条件. 思路:二分每行人数.证明:如果 ...

最新文章

  1. 2015年编程之美(资格赛) ---2月29日
  2. FASTQ! BAM! VCF
  3. Nginx初学第一步
  4. 操作系统(二十九)预防死锁
  5. Opencms中要注意的地方
  6. [Leetcode][第24题][JAVA][两两交还的链表中的节点][递归][三指针]
  7. const int *a和int*const a 的区别详解
  8. Springboot集成axis1.4
  9. 《大数据》第1期“专题”——大数据与高性能计算
  10. 信息学奥赛一本通(1186:出现次数超过一半的数)
  11. Ubuntu离线安装subversion
  12. java ajax分页_使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页
  13. 赤兔oracle恢复软件 收费,赤兔Oracle数据库恢复软件下载 v11.6官方版-下载啦
  14. bios 昂达h61c_Onda昂达主板BIOS,ONDA昂达H61N全固版(ver 3.00)主板BIOS 3.02版,主板BIOS,硬件驱动下载...
  15. XUI框架实现自带的tablayout(TabBar指示器)+viewpage实现页面切换?
  16. 根据经纬度查询附近地点
  17. android wp模拟器,玩家必看,WP8 ROM模拟器游戏图文教程
  18. STL——标准模板库
  19. 逻辑运算符:与,或,非,异或
  20. kafka跨库同步mysql表_canal实时同步mysql表数据到Kafka

热门文章

  1. Revit API: IndependentTag 标记
  2. 焱融云正式加入CNCF和Linux基金会
  3. 【GBS】How to communicate with technical professionals at basic level
  4. win10怎么跳过系统更新?win10屏蔽指定更新补丁的设置方法
  5. list<map>转xml
  6. 茧数SCRM | 裂变海报
  7. 聊聊德国DAX,30+10(20211202 Week48-2)
  8. 疾病研究:进行性肌营养不良:不是绝症,但须谨慎!
  9. .NET Core学习—认识.NET Core
  10. 欢迎使用CSDN-markdown编辑器发顺丰 第三个是德国