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的更多相关文章

  1. Topcoder Srm 673 Div2 1000 BearPermutations2

    \(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...

  2. TopCoder kawigiEdit插件配置

    kawigiEdit插件可以提高 TopCoder编译,提交效率,可以管理保存每次SRM的代码. kawigiEdit下载地址:http://code.google.com/p/kawigiedit/ ...

  3. 记第一次TopCoder, 练习SRM 583 div2 250

    今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...

  4. TopCoder比赛总结表

    TopCoder                        250                              500                                 ...

  5. Topcoder几例C++字符串应用

    本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...

  6. UVa 673 Parentheses Balance -SilverN

    You are given a string consisting of parentheses () and []. A string of this type is said to be corr ...

  7. TopCoder

    在TopCoder下载好luncher,网址:https://www.topcoder.com/community/competitive%20programming/ 选择launch web ar ...

  8. TopCoder SRM 596 DIV 1 250

    body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...

  9. UVa 673 Parentheses Balance

    一个匹配左右括号的问题 /*UVa 673 Parentheses Balance*/ #include<iostream> #include<algorithm> #incl ...

随机推荐

  1. 51nod 棋盘问题(博弈论)

    题目链接: 棋盘问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在玩一个游戏,每次寻找边长为x的正方 ...

  2. Freebsd 编译内核

    # cd /usr/src/sys/i386/conf # cp GENERIC GENERIC.20060812# ee GENERIC 如果要加入ipf防火墙的话则加入options        ...

  3. 转:YUV RGB 常见视频格式解析

    转: http://www.cnblogs.com/qinjunni/archive/2012/02/23/2364446.html YUV RGB 常见视频格式解析 I420是YUV格式的一种,而Y ...

  4. 使用Boost asio实现异步的TCP/IP通信

    可以先了解一下Boost asio基本概念,以下是Boost asio实现的异步TCP/IP通信: 服务器: #include "stdafx.h" #include <io ...

  5. 如何取消IE“已限制此网页运行可以访问计算机的脚本或ActiveX控件

    在本地调试html页,如果其中包含js或flash,IE经常会提示“IE已限制此网页运行可以访问计算机的脚本或ActiveX控件”.虽然IE出于安全考虑阻止本地脚本运行这个做法没错,但作为程序开发者来 ...

  6. js实现全屏

    详细内容请点击 1.window.open方式 第一种: 在已经打开的一个普通网页上,点击“全屏显示”,然后进入该网页对应的全屏模式.方法为:在网页的<body>与</body> ...

  7. IOS添加控件

    YJQApp *appInfo =self.apps[i]; //.添加图片 UIImageView * iconView = [[UIImageView alloc]init]; CGFloat i ...

  8. Wim技术之Wim文件的制作

    背景:操作的镜像文件为win8.1 update的ISO里的Wim文件 1.使用如下命令将支持WimBoot的instal.Wim文件转换成可以支持wimboot启动的映像文件 Dism /Expor ...

  9. 时间类型(DataTime)赋空值

    暂时只发现这一个方法 如果直接Datetime time=DBNull.Value;会报null与DataTime没有隐式转换 SqlCommand cmd = SqlCommand(conn); / ...

  10. jquery 和 js 对象转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...