topcoder 673
DiV1
300:给一组士兵再给一组战马都有权值。
安排战马的顺序的方案数,是第一个士兵和其战马的权值乘积最大。
做法:随便暴力就好。
枚举战马和第一个士兵匹配。其他士兵按权值从大到小排序,战马权值按从小到大排序。1.
举个例子:士兵,A,B,C,D,E
战马,a,b,c,d,e
第一个士兵和其战马的乘积是:tmp
A 可以A*c<tmp;
B 可以 B*d<tmp;
B 与战马的乘积小于tmp,其战马的权值一定大于等于c,因为 1.
所以答案就是ans = (c-第几个士兵+1)*(d-第几个士兵+1)...
#include<bits/stdc++.h> using namespace std;
typedef long long ll; #define mod 1000000007 int a[],b[]; class BearCavalry {
public:
int countAssignments(vector <int> warriors, vector <int> horses) {
int n=warriors.size();
for (int i=;i<n;i++)
a[i]=warriors[i];
sort(a+,a+n);
reverse(a+,a+n); ll ans=; for (int i=;i<n;i++)
{
int t=;
for (int j=;j<n;j++)
if (i!=j) b[t++]=horses[j];
sort(b,b+t); int tmp=a[]*horses[i]; ll num=;
for (int i=;i<n;i++){
int x=-;
for (int j=;j<t;j++)
{
if (a[i]*b[j]<tmp)
{
x=j;
}
else break;
}
//if (x==-1&&i>1) x=0;
int xx=x+-(i-);
if (xx<) xx=;
num=num*xx%mod;
}
ans=(ans+num)%mod;
// cout<<num<<endl; }
return ans;
}
}; int main()
{
BearCavalry p;
int n;
cin>>n;
vector<int>aa,ba;
for (int i=;i<=n;i++)
{
int x;
cin>>x;
aa.push_back(x);
}
for (int i=;i<=n;i++)
{
int x;
cin>>x;
ba.push_back(x);
} cout<<p.countAssignments(aa,ba);
return ;
}
topcoder 673的更多相关文章
- Topcoder Srm 673 Div2 1000 BearPermutations2
\(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...
- TopCoder kawigiEdit插件配置
kawigiEdit插件可以提高 TopCoder编译,提交效率,可以管理保存每次SRM的代码. kawigiEdit下载地址:http://code.google.com/p/kawigiedit/ ...
- 记第一次TopCoder, 练习SRM 583 div2 250
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...
- TopCoder比赛总结表
TopCoder 250 500 ...
- Topcoder几例C++字符串应用
本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...
- UVa 673 Parentheses Balance -SilverN
You are given a string consisting of parentheses () and []. A string of this type is said to be corr ...
- TopCoder
在TopCoder下载好luncher,网址:https://www.topcoder.com/community/competitive%20programming/ 选择launch web ar ...
- TopCoder SRM 596 DIV 1 250
body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...
- UVa 673 Parentheses Balance
一个匹配左右括号的问题 /*UVa 673 Parentheses Balance*/ #include<iostream> #include<algorithm> #incl ...
随机推荐
- hdu-5701 中位数计数(中位数)
题目链接: 中位数计数 Problem Description 中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数. 现在有nn个数,每个 ...
- 【PHP基础】常用mySQL语句以及WampServer2.2设置数据库默认编码
一.WampServer2.2设置数据库默认编码(此部分转自http://www.cnsecer.com/5984.html) wamp下MySQL的默认编码是Latin1,不支持中文,要支持中文的话 ...
- ubuntu安装python3
系统本身就已经安装了python2.7 和python3.4 现在需要做的就是将默认的版本更换一下下就可以了. 检查python的版本 python -V 老的版本没必要去产出了,因为会有一些程序依赖 ...
- jquery 常见问题--转载
1 JQuery操作radio 1)获取按钮选中的值:$("input:radio:checked").val(); 2)选中或者取消选中某个Radio的方法,可以 ...
- iOS 复杂tableView的 cell一般设计思路
- 【学习笔记】【C语言】结构体
1.定义结构体变量的3种方式 1> 先定义类型,再定义变量(分开定义) struct Student { int age; }; struct Student stu; 2> 定义 ...
- 理解C#系列 / 核心C# / 枚举
枚举 如果没有枚举 //1代表s号:2代表m号:3代表l号:4代表XL号:5代表XXL号 ; ){ //快递发M号的衣服 } 有了枚举之后 声明枚举(请原谅我使用了中文汉字) public enum ...
- ASCII 码表
下面的 ASCII 码表包含数值在0-127之间的字符的十进制.八进制以及十六进制表示. 十进制 八进制 十六进制 字符 描述 0 0 00 NUL 1 1 01 SOH start of hea ...
- POJ1056 IMMEDIATE DECODABILITY【数据结构】
题目地址:http://poj.org/problem?id=1056 Description An encoding of a set of symbols is said to be immedi ...
- some windowsphone templates
http://inspirationfeed.com/freebies/20-free-windows-phone-7-mockup-and-wireframing-resources/