题意:把所有的科学家的题目进行输入,要求使得释放资源最少,而且使得科学家所有输入的题目的相对顺序不能改变。出现逆序对的原因是对之前的资源处理时,%m,所以可能会出现逆序对的情况。对于前面一个问题,就是按照输入的题目优化后所得到的逆序对是最少的,而且每个科学家输入的题目相对顺序不能变。所以当把所有的题目合并的时候,优化后的最少逆序对就是所有科学家中逆序对数最多的逆序对数,因为在合并所有的题目的时候,按照最大的逆序对数来划分段,然后在把其他的科学家的题目相对应的段插到一起,因为每个段都是有序的,所以插入进来后每个段也是有序的,所以优化后的逆序对数就是之前所有科学家的最大的逆序对数。

思路:首先会输入第一个数据,然后依次统计后面的情况,使用逆序对数来作为段的段号,当然会使用段号来进行排序,

主要是统计每个科学家的逆序对数以此作为段的数目,还有就是要统计总的题目数,超过200000的时候,就不用往数组里面添加了,(一定要判断,否则有一部分通不过),只统计总的逆序对数就可以了。

参考:https://blog.csdn.net/myfatmyfat/article/details/88205053

代码:

#include <iostream>
#include<algorithm>
#include<vector>
typedef long long int LL;
#define N  200000
using namespace std;
struct node{LL section,res,index;//section(切段后的段号),res(所需资源号),index(科学家的编号) node(){}node(LL s,LL r,LL i):section(s),res(r),index(i){}//构造函数
}sc[210000];
bool com(node a,node b){ if(a.section != b.section)return a.section < b.section;//断号小的排在前面,毕竟先输入 else if(a.res != b.res)return a.res < b.res;//同一段中所需资源越小,越靠前 else return a.index < b.index;//所有的都一样,则需要按照科学家的索引来排序
}
int main(int argc, char** argv) {LL n,cnt = 0,sumBad = 0;//sum保存的是所有科学家总的问题数目,sumBad表示总的逆序对数 cin>>n;for(int i=1;i<=n;i++){LL k,res,x,y,m,tem,badPair = 0;//badPair当前科学家的逆序对数 cin>>k>>res>>x>>y>>m;sc[cnt++] = node(badPair,res,i); //输入第一个所需资源数 for(int j=2;j<=k;j++){tem = (res*x+y)%m;//当前所需资源数if(tem < res) {//当发现逆序对时,段区要改变了,badPair充当了段区的索引 badPair++; }if(cnt <= N){sc[cnt++] = node(badPair,tem,i);}  res = tem;//更新当前值 }sumBad = max(badPair,sumBad);} printf("%d\n",sumBad);sort(sc,sc+cnt,com);if(cnt <= N){//小于N才打印,否则只打印逆序对数for(int i=0;i<cnt;i++){printf("%d %d\n",sc[i].res,sc[i].index);}    } return 0;
}

蓝桥杯 ALGO-131 Beaver's Calculator相关推荐

  1. 蓝桥杯 算法训练 Beaver's Calculator

    蓝桥杯 算法训练 Beaver's Calculator 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator ...

  2. Java实现 蓝桥杯 算法训练 Beaver's Calculator

    试题 算法训练 Beaver's Calculator 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator ...

  3. 蓝桥杯- 算法训练-Beaver's Calculator

                                                             算法训练 Beaver's Calculator 时间限制:3.0s   内存限制:2 ...

  4. 【蓝桥】算法训练 Beaver‘s Calculator(贪心)

    参考文章1 参考文章2 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别, ...

  5. 算法训练 Beaver's Calculator (蓝桥杯)

    参考:http://blog.csdn.net/qq_35078631/article/details/58669520 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器 ...

  6. 蓝桥杯 Beaver's Calculator

    问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...

  7. 蓝桥杯—ALGO-131 Beaver's Calculator

    问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...

  8. Beaver's Calculator(蓝桥杯 算法训练)sort排序

    算法训练 Beaver's Calculator  时间限制:3.0s   内存限制:256.0MB 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为&qu ...

  9. 蓝桥2——Beaver's Calculator

    问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator 1.0".它非常特别,并且被计划使用在各种各样 ...

  10. Beaver‘s Calculator

    蓝桥杯试题 算法训练 Beaver's Calculator 资源限制 时间限制:3.0s 内存限制:256.0MB 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他 ...

最新文章

  1. react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output and
  2. 这种口令解决方案可替代多因子验证
  3. Spring Cloud 服务安全连接
  4. bzoj2049 [Sdoi2008]Cave 洞穴勘测
  5. excel不能编辑如何解锁_偷梁换柱之EXCEL编辑保护和VBA隐藏代码保护的解锁
  6. spring boot web_SpringBoot2.x入门:引入web模块
  7. 软件测试用例优秀例子_新手入门:想要做好软件测试,这些理论知识,你得好好掌握...
  8. java项目导出可执行jar包 配置文件 及运行方法
  9. java常用设计模式 看了她,改变你的一生~~~
  10. Mac电脑共享“公共文件夹”以外的文件夹的设置教程
  11. docker容器与大数据组件的冲突点
  12. 安卓游戏源码-android游戏源码开发-android游戏开发
  13. Qt调用ffmpeg录制屏幕
  14. 数学建模时序数据分析——趋势性检验和平稳性检验
  15. 上海2018计算机中级职称,2018中级职称评定申报要求
  16. android 闹钟设置铃声,安卓手机闹钟设置音乐铃声的方法
  17. Window下Ribbit MQ安装
  18. 笔记本当服务器显示器怎么连接,显示器怎么连接笔记本_显示器怎么接笔记本-win7之家...
  19. 330pics-shell scripts-second
  20. 第四章 线程切换与调度——操作系统的发动机

热门文章

  1. xshell连接不上虚拟机Linux
  2. OPPOReno4SE和华为畅享20 哪款好
  3. 统计大写字符、小写字符、数字等个数
  4. 第五届蓝桥杯—— 基础练习:特殊的数字
  5. gfortran版本
  6. linux上运行gfortran,linux下gfortran 生成so文件
  7. template <typename T>用法
  8. 16 通道 65MSPS 14 bit 直流耦合 AD 采集卡/ FMC 子卡
  9. Android使用MediaCodec进行视频编码 视频的一些基础概念介绍
  10. 移远通信亮相CCBN2021,助推视听媒体等领域不断创新