【刷题记录】GCJ 2.71~2.72
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;
}
【刷题记录】GCJ 2.71~2.72的更多相关文章
- [BUUCTF-Pwn]刷题记录1
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...
- 攻防世界Web刷题记录(新手区)
攻防世界Web刷题记录(新手区) 1.ViewSource 题如其名 Fn + F12 2.get post 3.robots robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个 ...
- PE刷题记录
PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...
- leetcode刷题记录--js
leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...
- Leetcode刷题记录(python3)
Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...
- 刷题记录:[HarekazeCTF2019]encode_and_encode
目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...
- 刷题记录:[De1CTF 2019]Giftbox && Comment
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...
- 刷题记录:[强网杯 2019]Upload
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...
- 刷题记录:[XNUCA2019Qualifier]EasyPHP
目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...
- 刷题记录:[DDCTF 2019]homebrew event loop
目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...
随机推荐
- 第4月第2天 nsinvocation崩溃 mvc videotrack
1. __unsafe_unretained id result = nil; [invocation getReturnValue:&result]; return result; http ...
- ObjC运行时部分概念解析(一)
转型iOS已经许久了,Runtime(运行时)还没有好好了解过.之前没有阅读过源码,紧紧凭借自己的臆测.现在阅读下源码,做一些笔记.方便再次翻阅 SEL SEL是一个关键字,如果没有涉及runtime ...
- centos 7配置网络 更新yum源
cd /etc/sysconfig/network-script/ 找到对应的ifcfg-entxxxx文件,然后添加网关,修改dhcp为static,静态ip,添加IPADDR ip地址.onboo ...
- Linux学习之四--Nginx
关于Nginx的 nginx的是一个高性能的Web服务器的软件.它比Apache HTTP服务器更加灵活,重量轻的程序. 本教程将教你如何安装和你的CentOS 7服务器上启动Nginx的. 先决 ...
- Windows Defender无法开启问题
针对Win8及以上系统: 按Win+R键,输入services.msc,下滑找到以W开头的Windows Defender相关项,右键在属性中设为自动并开启. (若1无法解决)按Win+R键,输入re ...
- qlikview 扩展插件制作教程-EchartsGeoMap
效果图 显示效果和echarts官方demo一样,运行速度尚可. 第一次写博客,排版很渣以后慢慢改进. 基础知识 以EchartsGeoMap为例,讲一下怎么制作一个基础的QlikView Ext ...
- jQuery中的选择器
(1)基本#id element .class * selector1,selector2,selectorN (2)层次选择器:ancestor descendant parent > chi ...
- PHP 验证码生成类(可定制长度和内容)
===================VerifyTool====================== <?php class VerifyTool { private $fontPath; / ...
- DevExpress 程序运行后 layoutView 卡片大小发生变化
设置属性前效果: 将layoutView1.CardMinSize 的属性更改为(0, 0) 后 效果:
- ASCII码、Unicode码 转中文
ASCII码.Unicode码 转中文 在最近工作中遇到了一些汉字编码转换的处理,可以通过正则表达式及转换字符来实现转成中文 Unicode转换示例 通常为10位编码, 通过digit参数传入 pri ...