A-筱玛爱地理 ( 快速幂、逆元、sort cmp函数-结构体排序)
2019-07-08 11:44
92 查看
链接:https://ac.nowcoder.com/acm/contest/946/A
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld题目描述
筱玛是一个热爱地理的好筱玛。最近,在《地理II》作业本上,筱玛学到了“贝塔指数”的概念:
在经济地理学中,交通的联结度表示交通网络的发达程度,通常用贝塔指数来计算与比较。若用VV表示一个交通网络中结点的数量,用EE表示边的数量,则贝塔指数的计算方式为:β=EVβ=EV。
“实践是检验真理的唯一标准”。作为一个热爱地理的好筱玛,她马上就把新学的知识应用到实践当中去。筱玛一口气出了nn张交通网络规划图,其中第ii张交通网络GiGi有ViVi个结点和EiEi条边。筱玛一眼就看出了哪张图好、哪张图坏。但是作为一个负责任的好筱玛,她必须带领同学们一起进步。因此,她需要你将所有的nn张图按照贝塔指数排序,并求出它们各自的贝塔指数在模109+7109+7意义下的值。
输入描述:
[code]
第一行一个整数nn,表示交通网络规划图的数量。
接下来nn行,每行两个整数ViVi和EiEi,分别表示图GiGi中的结点数量和边的数量。
输出描述:
[code]
输出共nn行,每行一个数,表示贝塔指数第ii大的交通网络的贝塔指数在模109+7109+7意义下的值。
如果不能整除,输出分数取模后的结果。
示例1
输入
复制
[code]1 1 3
输出
复制
[code]3
说明
[code]显然此时β=EV=3β=EV=3。
备注:
[code]
对于100%的数据,保证1≤n≤2×1051≤n≤2×105,1≤Vi,Ei≤1091≤Vi,Ei≤109。
题意:n对数相除 取模,即除法取模,逆元
题解:费马小定理 inv(a) : a^(p-2) = inv(a) (mod p)
知识点:快速幂、逆元、sort cmp函数
[code]#include<bits/stdc++.h> using namespace std; #define mod 1000000007 long long int quick_mi(long long int x,long long int y) { long long int res=1; while(y) { if(y&1) res=res*x%mod;//!!!res取模啊!!! x*=x; x%=mod; y>>=1; } return res; } struct node { long long int v,e; }aa[200005]; bool cmp(node x,node y) { if(x.e*y.v>=y.e*x.v) return true; else return false; } int main() { long long int m; scanf("%lld",&m); for(int i=0;i<m;i++) { int e,v; scanf("%lld%lld",&aa[i].v,&aa[i].e); } sort(aa,aa+m,cmp); for(int i=0;i<m;i++) { printf("%lld\n",aa[i].e*quick_mi(aa[i].v,mod-2)%mod); } }
相关文章推荐
- 结构体sort快速排序
- NYOJ.904 search(二分查找,快速排序,结构体运用)
- 快速排(主要看的结构体多级排序) HDU2093和南阳理工学院ACM263都考得结构体多级排序
- 快速排序(qsort and sort)
- poj 1543 Perfect Cubes【sort排序结构体】
- 快速排序 C语言的qsort及C++的sort
- 利用sort对结构体数组排序
- C# 对 结构体 或 类对象 的arraylist 排序 sort()
- 结构体排序sort简单 收藏
- hdu 1263 水果 sort对结构体中字符串二级排序
- [matrix/leetcode](sort)Kth Largest Element in an Array-快速排序
- 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
- 快速排序 C语言的qsort 以及 C++的 sort
- 笔试算法题(56):快速排序实现之非递归实现,最小k值选择(non-recursive version, Minimal Kth Selection of Quick Sort)
- qsort 与 sort 对结构体排序
- qsort和sort对结构体的排序
- sort对结构体进行排序(区间排序)
- 山东省第五届省赛J题 Weighted Median(思维题 sort给结构体排序)
- JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
- C++使用sort对于结构体排序