当前位置: 首页 > news >正文

个人网站备案网址导航晨光科技+网站建设

个人网站备案网址导航,晨光科技+网站建设,汤姆叔叔官方网站建设,单页网站有后台Problem - A - Codeforces 思路#xff1a; 按照等级排序#xff0c;维护同等级最大评分#xff0c;每个等级的总评分至少比其第前一个等级的最大评分大1分 吐槽#xff1a; 思路不难#xff0c;但坑好多#xff0c;感觉全踩了一遍 坑#xff1a;#xff08;按解决…Problem - A - Codeforces 思路 按照等级排序维护同等级最大评分每个等级的总评分至少比其第前一个等级的最大评分大1分 吐槽 思路不难但坑好多感觉全踩了一遍 坑按解决先后排序 要维护同等级的最大值并且与前一等级的排序不能只根据排完序后前一个的总评分进行判断 储存 -1 所在的位置代替遍历查找用空间换时间 题目要求按输入顺序输出各个比赛的评分不要进行两次排序不要格外用上离散化充分利用好下标 不要用pairint,vectorint 类型的数组排序用pair对应起等级和下标就行 更新前驱不受是否需要填值影响 AC代码 #includebits/stdc.h using namespace std;#define int long longbool cmp(pairint,int a,pairint,int b){return a.firstb.first; } //pairint,int装等级,下标将等级小的排在前面int n,m,k; int x; int cc;void solve(){cinnmk;pairint,int grade[n]; //装等级,下标将每个竞赛的等级与其下标对应起来vectorint score[n],location[n]; //储存每个竞赛的评分、其-1元素在score[]的位置mapint,int mx; //储存每个等级评分和的最大值for(int i0;in;i){cingrade[i].first; grade[i].secondi; //输入等级对应其下标int sum0 , cnt0; //用于统计该竞赛当前评分和、-1元素的数量score[i].push_back(0); //留出score[]的第一个位置用于存放该竞赛当前评分和for(int j1;jm;j){cinx;score[i].push_back(x);if(x-1){cnt; //统计-1数量location[i].push_back(j); //储存-1位置}else{sumx; //统计评分和}}mx[grade[i].first] max(mx[grade[i].first],sum); //更新当前等级竞赛的最大评分和score[i][0]sum; //0号位存放评分和score[i].push_back(cnt); //m1号位存放-1的数量}sort(grade,graden); //按等级进行排序int front 0; //记录 当前等级的 前一个等级 的 下标for(int i1;in;i){if(grade[i].first grade[0].first) continue; //跳过最低等级的竞赛int should max(score[grade[i].second][0],mx[grade[front].first]1); //该竞赛的最小评分和应为max该竞赛当前评分和前一等级竞赛最大评分和1int difference should-score[grade[i].second][0]; //记录should 与 当前竞赛评分和的差if(difference){ //如果差不为0意味这要填分到-1所在的位置if(score[grade[i].second][m1]*kdifference){coutNo\n; return;} //如果-1的个数*k 不足以填补 差 则输出No直接判出for(int j0;jlocation[grade[i].second].size() difference0;j){ //调出-1元素的位置按差填值填完结束cc location[grade[i].second][j];if(differencek){score[grade[i].second][cc]k; score[grade[i].second][0]k; difference-k; //更新-1处的值更新该竞赛评分和更新差的值}else{score[grade[i].second][cc]difference; score[grade[i].second][0]difference; difference-difference; //更新-1处的值更新该竞赛评分和更新差的值}}mx[grade[i].first] max(mx[grade[i].first],score[grade[i].second][0]); //更新当前等级最大评分和}if(grade[i].first ! grade[i1].first) front i; //如果当前竞赛的等级与其后面一个竞赛等级不同则更新front将当前竞赛的等级作为 前一个等级 因为grade[]已经排序此行必须放在if(difference){}之外就算当前等级竞赛的difference都为0也必须更新front不然到下一个等级的竞赛算should时会得到错误的值}coutYes\n; //一切安好就输出Yes平凡即是喜乐?for(int i0;in;i){for(int j1;jm;j){if(score[i][j]-1) cout0 ; //还是-1的位置就输出0else coutscore[i][j] ;}cout\n;} }signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t;cint;while(t--){solve();}return 0; }
http://www.w-s-a.com/news/37762/

相关文章:

  • 湖南企业网站建设如何推广手机网站
  • 网站建设项目经历网站推广服务 商务服务
  • 加强网站的建设福州seo排名外包
  • 做婚庆找什么网站有专门为个人网站做推广的吗
  • 网站搭建要求模板学编程需要英语基础吗
  • 网上如何建网站卖量具净水机企业网站源码
  • 网站推广 软件规划设计公司年终总结
  • 视频网站开发方法微站网建站系统
  • 渐变网站网页界面设计的宗旨是什么
  • 网站排名提升工具免费韶关做网站公司
  • 做网站一个月可以赚多少钱东营市建设工程招标网
  • 网站开发工具阿里云怎么做网站
  • 用html做静态网站成都专业logo设计公司
  • 哪里有免费建站平台233小游戏网页版在线玩
  • 为什么我的网站做不起来网站能搜索到
  • 方又圆网站建设信息流广告二级代理
  • 公司管理网站首页网站后台编辑框不显示
  • aspnet网站开发模板备案 网站建设方案书
  • 营销软件网站wordpress优秀的破解主题
  • 卧龙区网站建设国内漂亮网站欣赏
  • 服装 网站模板 wordpress石家庄做网站的公司有哪些
  • 惠州技术支持网站建设百度怎样注册免费的网站
  • 无锡哪里有做网站的公司泸州网站建设公司
  • 怎么进行网站推广jsp可以做那些小网站
  • 懒人手机网站wordpress修改秒速
  • WordPress资讯网站用花生壳做网站
  • 关于营销方面的网站建设网站怎么克隆
  • 站长网seo综合查询工具电商公司简介
  • 全能网站建设教程广告制作公司需要什么设备
  • 汽车行业做网站网站改版seo建议