GCJ 271

【题目大意】

Minimum Scalar Product

有两个东西(滑稽)v1=(x1,x2,x3,……,xn)和v2=(y1,y2,……yn),允许任意交换v1和v2中各数字的顺序。

请计算x1y1+……+xnyn的最小值

【输入样例(第一行为n,第二行为v1,第三行为v2)】

3
1 3 -5
-2 4 1

【输出样例(直接输出最小值)】

-25

【数据范围】

稍微大一点的:100<=n<=800     -100000<=x1,y1<=100000

【解题思路】

直接暴力sort一下v1和v2,最后计算v1[i]*v2[n-i-1]即可

【代码】

#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=801;
int n;
int v1[maxn],v2[maxn];
int main()
{cin>>n;for(int i=0;i<n;i++) cin>>v1[i];for(int i=0;i<n;i++) cin>>v2[i];sort(v1,v1+n);sort(v2,v2+n);ll ans=0;for(int i=0;i<n;i++) ans+=(ll)v1[i]*v2[n-i-1];cout<<ans<<endl;return 0;
}

GCJ 272

【题目大意】

Crazy Rows(2009 Round2 A题)(滑稽)

给定一个由0和1组成的矩阵。只允许交换相邻的两行(第i行和第i+1行),要把矩阵化成下三角矩阵(主对角线上方的元素都为0),问最少需要交换几次?数据保证合法。

【输入样例(第一行为n代表有一个n*n的矩阵,下面n行为矩阵)】

4
1110
1100
1100
1000

【输出样例(直接输出代价)】

4

【数据范围】

稍微大一点的:4<=n<=40

【解题思路】

N!肯定不行

我们就先把第一行确定,第一行必须是“1000000……000”或“00000……0000”的形式。所以我们把矩阵中符合这种形式的行中代价较小的放到第一行。

下一行像处理第一行一样处理,现在复杂度为O(n^3)

接着,我们预先计算最终矩阵每行最后一个1所在的位置即可,现在复杂度变成了n方……

【代码】

#include <cstdio>
#include <algorithm>
#include <iostream>
using namespace std;
int n;
char a[50];
int b[50];
bool used[50];
int main()
{int n;cin>>n;for(int i=0;i<n;i++){b[i]=-1;used[i]=false;cin>>a;for(int j=n-1;j>=0;j--){if(a[j]=='1'){b[i]=j;break;}}}int s=0;for(int i=0;i<n;i++){int ans=-1;for(int j=i;j<n;j++){if(b[j]<=i){ans=j;break;}}for(int j=ans;j>i;j--){swap(b[j],b[j-1]);s++;}}cout<<s;return 0;
}

转载于:https://www.cnblogs.com/lijiaxin-blog-cpp/p/6148224.html

【刷题记录】GCJ 2.71~2.72相关推荐

  1. Codeforces 刷题记录(已停更)

    Codeforces 每日刷题记录 (已停更) 打'+'是一些有启发意义的题目,部分附上一句话题解,每日更新3题,大部分题目较水. Day ID Problem Tutorial Note 1 1 + ...

  2. BZOJ刷题记录---提高组难度

    BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...

  3. Pythontip刷题记录

    pythontip 刷题记录 11.给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数.(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大). 不能直接相乘会太大了,分解质因数,去找2 ...

  4. 重走长征路---OI每周刷题记录---9月21日 2013 AC 17题

    总目录详见https://blog.csdn.net/mrcrack/article/details/84471041 做题原则,找不到测评地址的题不做.2018-11-28 重走长征路---OI每周 ...

  5. 力扣刷题记录--哈希表相关题目

    当遇到需要快速判断一个元素是否出现在集合里面的时候,可以考虑哈希法,牺牲一定的空间换取查找的时间. java常用的哈希表有HashMap.HashSet以及用数组去模拟哈希,这几种方法各有优劣. 数组 ...

  6. Python刷题记录(81-90)

    Python刷题记录(81-90) 题目来源PTA平台 PAT (Basic Level) Practice (中文) @TOC 1081 检查密码 本题要求你帮助某网站的用户注册模块写一个密码合法性 ...

  7. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)

    LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...

  8. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

  9. LeetCode刷题记录13——705. Design HashSet(easy)

    LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...

  10. LeetCode刷题记录12——232. Implement Queue using Stacks(easy)

    LeetCode刷题记录12--232. Implement Queue using Stacks(easy) 目录 LeetCode刷题记录12--232. Implement Queue usin ...

最新文章

  1. XMPP通讯开发-好友获取界面设计
  2. 湘源控规8.0_湘源控规8.0新版本发布
  3. 知识工场 | 知识图谱暑假班开始报名啦!
  4. 数学图形(1.42)拱形曲线
  5. html js坐标图,javascript – HTML5 Canvas沿着带坐标的路径拖动图像
  6. 学妹,你要的C语言版AOE网络数据结构来了,就这么简单!
  7. 蓝牙连接不上车要hfp_鹅厂又要霸屏,连接四部剧将袭,冲着主创颜值不追不行啦...
  8. mamcache登录、_gomemcache首页、文档和下载 - memcache客户端库 - Go语言中文网 - Golang中文社区...
  9. Airflow 中文文档:Lineage
  10. 地图点击区域高亮 vue_这个Excel技巧很强大,鼠标点击即高亮显示数据区域
  11. SpringBoot配置redis
  12. FTA故障树分析法-DFMEA的另外一张脸
  13. Ubuntu 20.04安装搜狗输入法(图文详解)
  14. linux用户权限不够解析及解决方案
  15. Swiper.js实现无缝滚动
  16. 2022年熔化焊接与热切割考试题模拟考试题库及模拟考试
  17. matlab中怎么画冲激函数,matlab怎么画冲激函数波形,这些知识你不一定知道
  18. 一次惨痛的线下机房上云的经历
  19. 【android studio】安卓实现mysql数据库登录、注册、重置密码。
  20. 知星社:学会了什么?

热门文章

  1. 《恋上数据结构第1季》平衡二叉搜索树、AVL树
  2. Linux系统发行版本介绍(一)——CentOS介绍
  3. OracleOraDb11g_home1TNSListener 服务启动后停止 某些服务在未由其他服务或程序使用时将自动停止
  4. 对于模拟交易所引发的思考
  5. 最不适合做数据分析的6种性格,看看你占了几个?
  6. linux opencv移植教程,OpenCV在Ubuntu和Linux系统下的移植
  7. 刘宏伟计算机组成,哈工大组成原理和数据结构 ppt 计算机组成原理刘宏伟 版本一 第18讲...
  8. java的适配器的情形_Java设计模式之适配器模式(Adapter)
  9. 大楼通信综合布线系统_建筑智能化,智能大楼防雷系统设计在综合布线中的重要性...
  10. python web框架哪个好_盘点:9款流行Web框架及其优缺点