22CCPC威海+思维
尽快调整回来,这可能是你人生最重要的一年,好好审视自己,拎得清一点,丢弃掉无谓的担心,清楚自己在做什么。
既然大二有能力去做好一些事,那么大三就更没必要畏首畏尾,认真做好每一件事,还是那句话,把握好你能掌控住的东西,脚踏实地得努力实现。只要愿意去做,就一定能做好,待人可以平和,但是心气不能掉,懒惰会毁掉一个人。
再做不到,直接remake去吧
J. Eat, Sleep, Repeat
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
#define PII pair<int,int>using namespace std;
const int N =7e5+5;
const int inf=1e18;
const int mod=998244353;
const double eps=1e-8;
int n,k,m,a[N],id[N],vis[N];
struct node
{int val,cnt;
}e[N];
bool cmp(int a,int b){return a>b;}
map<int,int>mp;
void solve()
{cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i];for(int i=0;i<=n;i++) id[i]=vis[i]=0;mp.clear();m=0;for(int i=1;i<=k;i++){cin>>e[i].val>>e[i].cnt;mp[e[i].val]=e[i].cnt;if(e[i].cnt==0) id[++m]=e[i].val;}sort(a+1,a+n+1,cmp);sort(id+1,id+m+1,cmp);for(int i=1,j=1;i<=m;i++){while(id[i]>a[j]&&i<=m) i++;if(i>m) break;while(id[i]<a[j]) vis[j]=id[i]+1,j++;}int y=0,ans=0;for(int i=1;i<=n;i++){if(vis[i]){int x=vis[i];while(mp.count(x)&&mp[x]<=0) x++;ans+=a[i]-x;if(mp.count(x)) mp[x]--;}else{while(mp.count(y)&&mp[y]<=0) y++;ans+=a[i]-y;if(mp.count(y)) mp[y]--;}}if(ans&1) cout<<"Pico"<<endl;else cout<<"FuuFuu"<<endl;
}
signed main()
{//ios;int T;cin>>T;while(T--)solve();return 0;
}
C. Grass
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
#define PII pair<int,int>using namespace std;
const int N =3e4+5;
const int inf=1e18;
const int mod=998244353;
const double eps=1e-8;
int n;
struct Point
{int x,y;
}p[N],P[6];
bool check()
{for(int i=1;i<=5;i++){set<pair<int,int>>s;for(int j=1;j<=5;j++){if(j!=i){int x=p[i].x-p[j].x,y=p[i].y-p[j].y;int tmp=__gcd(x,y);tmp=abs(tmp);s.insert({x/tmp,y/tmp});}}if(s.size()==4){P[1]={p[i].x,p[i].y};int g=1;for(int j=1;j<=5;j++)if(j!=i) P[++g]={p[j].x,p[j].y};return 1;}}return 0;
}
void solve()
{cin>>n;for(int i=1;i<=n;i++) cin>>p[i].x>>p[i].y;int flag=0;if(n<5){cout<<"NO"<<endl;return;}for(int i=5;i<=n;i++){swap(p[i],p[5]);if(check()){flag=1;break;}}if(flag){cout<<"YES"<<endl;for(int i=1;i<=5;i++)cout<<P[i].x<<" "<<P[i].y<<endl;}elsecout<<"NO"<<endl;}
signed main()
{//ios;int T;cin>>T;while(T--)solve();return 0;
}
C. Complementary XOR
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
#define PII pair<int,int>using namespace std;
const int N =1e6+5;
const int inf=1e18;
const int mod=998244353;
int n;
string s1,s2;
void solve()
{cin>>n>>s1>>s2;s1=" "+s1;s2=" "+s2;int f1=0,f2=0;for(int i=1;i<=n;i++){if(s1[i]==s2[i]) f1=1; //各个位置相同else f2=1; //各个位置不同}if(f1&&f2){cout<<"No"<<endl;return;}cout<<"Yes"<<endl;vector<pair<int,int>>e;int ans=0,g=0;if(!f1&&f2){ans++;e.push_back({1,n});for(int i=1;i<=n;i++) s1[i]^=1;}for(int i=1;i<=n;i++)if(s1[i]=='1') ans++,g++,e.push_back({i,i});if(g%2)ans+=3,e.push_back({1,n}),e.push_back({1,1}),e.push_back({2,n});cout<<ans<<endl;for(auto x:e)cout<<x.first<<" "<<x.second<<endl;
}
signed main()
{//ios;int T;cin>>T;while(T--)solve();return 0;
}
I. Dragon Bloodline
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define ios (ios::sync_with_stdio(false),cin.tie(0),cout.tie(0))
#define PII pair<int,int>using namespace std;
const int N =7e5+5;
const int inf=1e18;
const int mod=998244353;
const double eps=1e-8;
int n,k,a[N],b[105],c[105],f[N],suma=0,sumb=0,sum=0,d[N];
bool check(int x) //二分蛋的数量
{int kk=0,g=x;for(int i=1;i<=n;i++){d[i]=a[i]*x; //每种物质需要数量kk+=d[i];if(kk>sum) return 0;}for(int i=1;i<=k;i++) f[i]=b[i]; //工作的龙数量for(int i=k;i>=1;i--){sort(d+1,d+n+1); //物质排序、贪心for(int j=n;j>=1&&f[i]&&d[j];j--){int tmp=d[j]/c[i]; //需要的龙if(tmp>f[i]){d[j]-=c[i]*f[i];f[i]=0;}else{d[j]-=c[i]*tmp;f[i]-=tmp;}}sort(d+1,d+n+1);for(int j=n;f[i];j--){if(d[j]){d[j]=0;f[i]--;}else return 1;}}for(int i=1;i<=n;i++)if(d[i]) return 0;return 1;
}
void solve()
{suma=0,sumb=0,sum=0;cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i],suma+=a[i]; //需要的物质sort(a+1,a+n+1);for(int i=1;i<=k;i++) //工作龙{cin>>b[i];sumb+=b[i];if(i==1) c[i]=1,sum+=c[i]*b[i];else c[i]=c[i-1]*2,sum+=c[i]*b[i];}int l=0,r=sum/suma,mid,ans;while(l<=r){mid=(l+r)>>1;if(check(mid)) l=mid+1,ans=mid;else r=mid-1;}cout<<ans<<endl;
}
signed main()
{ios;int T;cin>>T;while(T--)solve();return 0;
}
22CCPC威海+思维相关推荐
- 2020CCPC(威海) - Labyrinth(bfs+思维)
题目大意:给出一个 n * m 的矩阵,在矩阵内部最有 k 个黑洞(表示不可行走的区域),现在给出 q 次询问,每次询问给出两个点 ( x1 , y1 ) 和 ( x2 , y2 ) ,问从点 ( x ...
- 2020威海CCPC D,思维训练
ABC Conjecture 题意:给定一个数c,请你判断是否存在这样的两个数a和b,满足a+b=c,并且abc的质因子的乘积小于c(重复的质因子视为一个). 思路:我首先发现对于这个题来讲,第一个条 ...
- 智能车竞赛技术报告 | 智能车视觉 - 山东大学(威海) - 山魂五队
简 介: 本文详细介绍了山东大学(威海)山魂五队在第十六届"恩智浦"杯全国大学生智能汽车竞赛智能视觉组中的系统方案,包括硬件电路设计.机械结构设计.巡线算法以及识别算法的设计等.本 ...
- 2020CCPC威海
2020CCPC威海 2020CCPC威海榜单 题号 题目 知识点 难度 A Golden Spirit 思维,推导题 签到题 B Labyrinth dfs+思维 金牌题 C Rencontre D ...
- Gym 102798A(思维) acm寒假集训日记21/12/31or22/1/1
题目如下: AC代码如下: #include<iostream> #include<algorithm> #include<cstring> #include< ...
- 一体化大威海的战略抉择
编者按 为深入实施市第十四次党代会提出的"中心崛起.两轴支撑.环海发展.一体化布局"战略部署,今年以来,市委.市政府着眼于加速推进市域一体发展,对城市发展空间进行了新的谋划,全面启 ...
- 计算机保研夏令营预推免面试经验(吉林大学+哈工大威海+北京理工医工融合
2021年保研,最终去向哈尔滨工业大学威海,计算机专硕 基本情况:211,rank 7%,少许竞赛少许科研少许项目,无论文,本科软件工程 夏令营面试: 7月初入营了吉林大学软件学院,优秀营员排名第7 ...
- C9高校【哈工大威海校区】拟建未来技术学院
为了进一步推动高等工程教育改革,加快培养具有前瞻交叉思维的科技创新人才,切实推进新工科建设再深化.再拓展.再突破.再出发, 8月10日上午,哈工大威海校区"未来技术学院"建设研讨会 ...
- 17届智能车竞赛-极速越野 | 山东大学(威海)-越野三队
学校:山东大学(威海) 队伍名称:越野三队 参赛队员:郑睿.茅陈昕.余海波 带队教师:王小利刘萍萍 01 引 言 第十七届全国大学生智能车竞赛将于 2022年七至八月 ...
最新文章
- android 开启一个定时线程_Android异步、延迟和定时任务的简易用法
- 《精通ArcGIS Server 应用与开发》——第 1 章 ArcGIS 10简介1.1 ArcGIS 10体系结构1...
- 信息检索(IR)的评价指标介绍-准确率、召回率、F1、mAP、ROC、AUC
- 高低配系统直流控制电源技术知识点
- 计算机视觉方面代码和论文
- 【搭建web服务器】以及web的所有配置
- Visual Studio 2005 Tip:编辑项目文件
- jquery-autocomplete学习(转)
- POS机移动刷卡机自适应网站源码 dedecms织梦模板
- 使用Hutool来实现深拷贝
- 16进制转ascii,转字符串
- mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
- 数据呈现—ListView x Adapter
- List常用方法总结
- CIF、DCIF、D1分辨率
- 桌面好看的linux系统,可以当桌面的LINUX漂亮壁纸
- iphone 如何获得系统时间和日期
- ArcGIS坡度分析(解决坡度分析80-89°高值居多)
- js股票K线图,比较专业的K线图插件
- 谷歌教你25招构建一个优秀的移动网站