CDOJ 1273 God Qing's circuital law
暴力枚举+idea。做的时候mod写错了,写成了1000000009,找了两个多小时才发现......
a[1],a[2],a[3]....a[N]
b[1],b[2],b[3]....b[N]
首先需要枚举b[1]...b[N]与a[1]进行组合。
然后对a[2]...a[N]从小到大排序
对b[1],b[2],b[3]....b[N] 除当前与a[1]组合的以外,剩下的从大到小排序
然后找出每一个a[i]在不破坏a[0]最大值的情况下最大能与哪一个b[i]配对。
然后从第N个人开始往第2个人开始计算,先算N有几种取法,然后算N-1有几种。。。一直算到第2个人有几种
然后把这些数字乘起来就是当前这一次枚举的答案,最后把所有答案加起来就是了
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std; const int maxn = + ;
const long long MOD = ;
long long tmpa[maxn];
long long tmpb[maxn];
long long a[maxn];
long long b[maxn];
long long flag[maxn];
int n; bool cmp(const long long&a, const long long&b)
{
return a>b;
} int main()
{
while (~scanf("%d", &n))
{
for (int i = ; i <= n; i++) scanf("%lld", &tmpa[i]);
for (int i = ; i <= n; i++) scanf("%lld", &tmpb[i]); long long ans = ;
for (int t = ; t <= n; t++)
{
long long top = tmpa[] * tmpb[t]; for (int i = ; i <= n - ; i++) a[i] = tmpa[i + ]; int u = ;
for (int i = ; i <= n; i++)
{
if (i == t) continue;
else b[u++] = tmpb[i];
} int tot = n - ;
sort(a + , a + + tot);
sort(b + , b + + tot, cmp); for (int i = ; i <= n; i++) flag[i] = (long long);
for (int i = ; i <= tot; i++)
{
for (int j = ; j <= tot; j++)
{
if (a[i] * b[j] >= top){}
else
{
flag[i] = (long long)j;
break;
}
}
} long long ans_tmp = ;
bool fail = ;
for (int i = ; i <= tot; i++)
if (flag[i] > (long long)i) { ans_tmp = ; fail = ; break; } if (fail == )
{
long long now = ;
long long newpos = (long long)(tot + );
for (int i = tot; i >= ; i--)
{
long long newz = ;
if (flag[i] < newpos)
{
newz = newpos-flag[i];
newpos = flag[i];
}
now = now + newz;
ans_tmp = (ans_tmp*now) % MOD;
now--;
}
}
ans = (ans + ans_tmp) % MOD;
}
printf("%lld\n", ans);
}
return ;
}
CDOJ 1273 God Qing's circuital law的更多相关文章
- 第七届ACM趣味程序设计竞赛第四场(正式赛) 题解
Final Pan's prime numbers 题目连接: http://acm.uestc.edu.cn/#/problem/show/1272 题意 给你n,要求你在[4,n]范围内找到一个最 ...
- 齐夫定律, Zipf's law,Zipfian distribution
齐夫定律(英语:Zipf's law,IPA英语发音:/ˈzɪf/)是由哈佛大学的语言学家乔治·金斯利·齐夫(George Kingsley Zipf)于1949年发表的实验定律. 它可以表述为: 在 ...
- UVA 820 --- POJ 1273 最大流
找了好久这两个的区别...UVA820 WA了 好多次.不过以后就做模板了,可以求任意两点之间的最大流. UVA 是无向图,因此可能有重边,POJ 1273是有向图,而且是单源点求最大流,因此改模板的 ...
- Conway's law(康威定律)
Mel Conway 康威在加利福尼亚理工学院获得物理学硕士学位,在凯斯西储大学获得数学博士学位.毕业之后,他参与了很多知名的软件项目,如 Pascal 编辑器.在他的职业生涯中,康威观察到一个现象 ...
- cdoj 1489 老司机采花
地址:http://acm.uestc.edu.cn/#/problem/show/1489 题目: 老司机采花 Time Limit: 3000/1000MS (Java/Others) M ...
- 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Section 3 The law of averages, and expected values
Stat2.2x Probability(概率)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...
- POJ 1273 网络流(最大流)模板
http://poj.org/problem?id=1273 这道题很值得反思,弄了一下午,交上去先是一直编译错误,而在本地运行没有问题, 原因可能是oj的编译器版本老旧不支持这样的写法 G[from ...
- poj 1273 最大流
题目链接:http://poj.org/problem?id=1273 a.EK算法:(Edmond-Karp): 用BFS不断找增广路径,当找不到增广路径时当前流量即为最大流. b.dinic算法: ...
- 墨菲定律-Murphy's Law (转载)
墨菲定律 “墨菲定律”(Murphy's Law)亦称莫非定律.莫非定理.或摩菲定理,是西方世界常用的俚语. “墨菲定律”:事情往往会向你所想到的不好的方向发展,只要有这个可能性.比如你衣袋里有两把钥 ...
随机推荐
- MSSQL存储过程接收另一个存储过程返回列表
CREATE TABLE #tmp(m_Meter_ID varchar(20),low_Voltage int,num_Attack int,num_DER int,company_id int,a ...
- table详解
1.tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元. tr内是th还是td可由自己定义,th,td可存在于任一行,th与td的区别在与th字体更粗 2.定义一个table默认有bor ...
- 正确使用#include和前置声明(forward declaration)
http://blog.csdn.net/SpriteLW/article/details/965702
- HDU 3594 Cactus (强连通分量 + 一个边只能在一个环里)
题意:判断题目中给出的图是否符合两个条件.1 这图只有一个强连通分量 2 一条边只能出现在一个环里. 思路:条件1的满足只需要tarjan算法正常求强连通分量即可,关键是第二个条件,我们把对边的判断转 ...
- android 报错之noclassdeffounderror
解决方案1: 导入第3方jar包问题,明明导入了jar但还是报java.lang.NoClassDefFoundError解决步骤:1.在Android项目根目录下新建一个lib文件夹:2.把你需要导 ...
- Linux + Apache + PHP 环境搭建
搭建环境: Ubuntu 15.04 Apache 2.4.16 PHP 5.6.15 1 安装Apache 先安装依赖程序(都安装在 /usr/local/ 目录下) apr-1.5.2.tar.g ...
- MySQL+heartbeat+nfs做高可用
一.环境准备节点两个node1:10.10.10.202node2:10.10.10.203nfs服务器:node3:10.10.10.204系统环境CentOS release 6.5 (Final ...
- Entity Framework 学习初级篇3-- LINQ TO Entities
LINQ 技术(即 LINQ to Entities)使开发人员能够通过使用 LINQ 表达式和 LINQ 标准查询运算符,直接从开发环境中针对 实体框架对象上下文创建灵活的强类型查询.LINQ to ...
- 【树状数组】 poj 2352
题意:给出n个平面二维坐标,对于每个坐标,如果这个坐标跟(0,0)形成的矩形内包含的点数为 k (包含边界,但不包含坐标本身),那么这个坐标就是 level k.输出level 0 - n-1的点数分 ...
- 一键生成JNI头文件方法二
经常使用java的同学一定都接触过JNI(Java Native Interface)吧.JNI为我们提供了java<---->C/C++之间的接口,使得我们可以在java中调用C程序,以 ...