设置(settings)
设置(settings)
设置(settings)
题目描述
如题所示,这将是一个关于设置的问题。
你需要通过对一个控制台进行设置,来得到不同的效果。
这个控制台由n个控制元件组成,每个元件有m种设置,其中i号元件的第j种设置将会给整体带来a[i][j]的效果值。
最终的效果值是所有n个元件所选设置的效果值之和。
然而,效果值并不是越大或越小越好,不同的效果值有不同的意义。
所以我们要求你给出效果值最小的那k种不同的方案(2种方案不同,当且仅当2种方案中存在至少1个元件的设置不同)。
不过由于我们其实并不关心你给出的那k种方案是什么,只需要弄清你是否能够找出那些方案,所以你只需要输出所有k种方案的效果值的异或和。
输入
第一行3个正整数n,m,k
接下来n行,每行m个非负整数,其中第i行第j个数表示第i个控制元件的第j种设置的效果值a[i][j]
输出
仅一行一个整数,表示k种方案的效果值的异或和
样例输入
3 2 2 11 21 9 25 17 19
样例输出
2
提示
样例说明
最小的2种方案的效果值分别为37(11+9+17)和39(11+9+19),异或和为37 xor 39 = 2
数据规模和约定
对于30%的数据,m^n<=10^6,k<=30000
对于另外30%的数据n<=100,n*m<=50000,k<=50000
对于100%的数据,n*m<=300000,k<=300000,保证m^n>=k,任意一个控制元件的任意一种设置效果值均不超过10^9
solution
#include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<queue> #define maxn 300005 #define ll long long using namespace std; int n,m,k; vector<int>a[maxn]; ll ans; struct node{int x,num;ll v; }; bool operator <(node a,node b){return a.v>b.v;} priority_queue<node>q; bool cmp(vector<int> a,vector<int> b){return a[1]-a[0]<b[1]-b[0];// } int main(){cin>>n>>m>>k;for(int i=1;i<=n;i++){for(int j=1,t;j<=m;j++){scanf("%d",&t);a[i].push_back(t);}sort(a[i].begin(),a[i].end());}sort(a+1,a+n+1,cmp);ll val=0;for(int i=1;i<=n;i++)val+=a[i][0];/*for(int i=1;i<=n;i++){for(int j=0;j<m;j++)cout<<a[i][j]<<' ';cout<<endl; }*/q.push((node){1,0,val});while(k){//cout<<"k "<<k<<endl;node t=q.top();q.pop();k--;ans^=t.v;//printf("id=%d num=%d v=%lld\n",t.x,t.num,t.v);if(t.num<m-1)q.push((node){t.x,t.num+1,t.v-a[t.x][t.num]+a[t.x][t.num+1]});if(t.num>0&&t.x<n)q.push((node){t.x+1,1,t.v-a[t.x+1][0]+a[t.x+1][1]});if(t.num==1&&t.x<n){ll nv=t.v+a[t.x][0]-a[t.x][1];nv=nv+a[t.x+1][1]-a[t.x+1][0];q.push((node){t.x+1,1,nv});}}cout<<ans<<endl;return 0; }
View Code
设置(settings)相关推荐
- Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)...
Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt) 作者: Desmond Chen, 发布日期: 2014-05 ...
- Android设置Settings:预读取设置的选项和更新设置结果【2】
Android设置Settings:预读取设置的选项和更新设置结果[2] 本文在文章1的基础上,增加预读取历史的修改.设置值更新到设置选项中,同时,每一次更新都会实时更新到设置栏中. res ...
- vscode代码自动保存插件_VSCode 云同步扩展设置 Settings Sync 插件
VSCode 云同步扩展设置 Settings Sync 插件 发布时间:2019-07-19 16:24, 浏览次数:1730 , 标签: VSCode Settings Sync Hi.大家好,今 ...
- 自定义国内maven镜像包设置settings.xml
直接复制以下代码创建一个名为settings.xml的文件,放到C:\Users\Administrator\.m2下即可 <!-- Licensed to the Apache Softwar ...
- iOS开发之iOS程序偏好设置(Settings Bundle)的使用
2019独角兽企业重金招聘Python工程师标准>>> 在Android手机上, 在某个程序里,通过按Menu键,一般都会打开这个程序的设置,而在iOS里,系统提供了一个很好的保存程 ...
- android setting模块,android O版本 设置(Settings)模块总结--设置的一级界面的加载
O版本的设置界面相对有N有了一些变化,O上面增加了顶级类别的菜单,而之前一些在一级菜单的则移动到了二级界面里面, 如"WIFI","移动网络"等之前是在一级界面 ...
- webstorm的个性化设置settings
如何更改主题(字体&配色): File -> settings -> Editor -> colors&fonts -> scheme name.主题下载地址 ...
- C#中使用设置(Settings.settings) Properties.Settings.Default .
应用程序及用户设置 在设计时创建新设置的步骤 在"Solution Explorer"(解决方案资源管理器)中,展开项目的"Properties"(属性)节点. ...
- C#中使用设置(Settings.settings) Properties.Settings.Default .
在设计时创建新设置的步骤 在"Solution Explorer"(解决方案资源管理器)中,展开项目的"Properties"(属性)节点. 在"So ...
- VSCode修改配置(设置settings.json)汇总
1.settings.json文件在哪(打开settings.json方式) (1)C:\Users\[你电脑名字username]\AppData\Roaming\Code\User (2)左下角设 ...
最新文章
- 10行代码实现目标检测
- php中url重写,使用PHP重写URL
- Fabonacci三种方法求解C++
- comsol计算数据导出matlab,comsol4.2怎样在matlab中通过函数输出数据
- 01_初识Matplotlib、Figure的组成、绘图函数的输入类型、第一个例子(学习笔记)
- linux一些好用的命令和快捷键
- Linux之grep命令详解
- __weak 修饰符
- 一线城市BAT名企软件测试职位解析,有什么样的技术要求?
- Javascript中的Math.max()和Math.min()
- 搭建Windows SVN服务器及TortoiseSVN使用帮助和下载
- Requests 高级用法 —2.18.1 文档
- mysql截取身份证号前几位_EXCEL中怎样截取身份证号前六位数字
- torch.nn.Module.parameters(recurse=True)
- 小鼠血清白蛋白包裹四氧化三铁纳米粒
- 第欧根尼:我崇尚简朴朴素克己的生活
- 云展网教程 | 如何更改logo和设置点击logo时的转跳链接?
- BI工具和报表工具有什么不同
- 公众平台 php,微信公众平台PHP开发
- 39 个奇葩代码注释,看完笑哭了
热门文章
- HGAME 2017 or 2018 PWN levels
- HTB:在线主机-Worker
- Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,
- 【Unity2d】如何避免物体被销毁时绑定的音效消失
- r9 plus Android 10,OPPO R9 Plus领衔 市售长续航手机盘点
- android客户端功能,搜狐微博Android客户端最新版 功能丰富 界面友好
- Sublime Text - 中文汉化
- WebRTC中AECM算法简介
- java里面的ture和false
- 在Simscape中创建虚拟机器人环境(二):添加物理、对象交互和自主