清北考前刷题day5早安
- /*
- C(n,k)
- */
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #define ll long long
- #define N 1000007
- #define M 1000000007
- using namespace std;
- ll n,k,ans,cnt1,cnt0;
- ll inv[N]={,},fac[N]={,},f[N]={,};
- inline ll read()
- {
- int x=,f=;char c=getchar();
- while(c>''||c<''){if(c=='-')f=-;c=getchar();}
- while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
- return x*f;
- }
- inline void init()
- {
- for(int i=;i<=N;i++)
- {
- fac[i]=(fac[i-]%M*i%M)%M;
- f[i]=((M-M/i)%M*f[M%i])%M;
- inv[i]=(inv[i-]*f[i]%M)%M;
- }
- }
- inline ll C(ll a,ll b)
- {
- return fac[a]%M*inv[b]%M*inv[a-b]%M;
- }
- int main()
- {
- freopen("cube.in","r",stdin);
- freopen("cube.out","w",stdout);
- n=read();k=read();init();
- printf("%I64d\n",C(n,k));
- return ;
- }
- /*
- 做最大生成树时标记哪些边被加了进去。然后把这些边排序。
- 如果询问权值w的货物,就在边中查找小于w的最大值假设拍第k大
- 答案就是k+1。 复杂度O(qlogn)
- */
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- #define N 100007
- using namespace std;
- int n,m,q,ans,cnt,num;
- int head[N],fa[N];
- struct edge{
- int u,v,w,net,pos;
- bool operator < (const edge &a) const{
- return w>a.w;
- }
- }e[N<<],E[N],tmp[N<<];
- inline int read()
- {
- int x=,f=;char c=getchar();
- while(c>''||c<''){if(c=='-')f=-;c=getchar();}
- while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
- return x*f;
- }
- inline void add(int u,int v,int w)
- {
- e[++cnt].u=u;e[cnt].v=v;e[cnt].w=w;
- e[cnt].net=head[u];head[u]=cnt;
- }
- int find(int x){return fa[x]==x?x:fa[x]=find(fa[x]);}
- void kruskal()
- {
- int r1,r2;
- sort(E+,E+m+);
- for(int i=;i<=m;i++)
- {
- r1=find(E[i].u),r2=find(E[i].v);
- if(r1==r2)continue;
- fa[r1]=r2;num++;
- add(E[i].u,E[i].v,E[i].w);add(E[i].v,E[i].u,E[i].w);
- tmp[num].pos=num;tmp[num].u=E[i].u,tmp[num].v=E[i].v;tmp[num].w=E[i].w;
- if(num==n-) break;
- }
- }
- int serch(int x)
- {
- int l=,r=n-,mid;
- while(l<=r)
- {
- mid=l+r>>;
- if(tmp[mid].w>=x) l=mid+;
- else ans=mid,r=mid-;
- }return num-ans+;
- }
- int main()
- {
- freopen("warehouse.in","r",stdin);
- freopen("warehouse.out","w",stdout);
- int x,y,z,k;
- n=read();m=read();q=read();
- for(int i=;i<=n;i++) fa[i]=i;
- for(int i=;i<=m;i++)
- {
- E[i].u=read();E[i].v=read();E[i].w=read();
- }kruskal();
- for(int i=;i<=q;i++)
- {
- x=read();
- if(x<=e[cnt].w){printf("1\n");continue;}
- if(x>e[].w){printf("%d\n",n);continue;}
- k=serch(x);
- printf("%d\n",k+);
- }
- return ;
- }
清北考前刷题day5早安的更多相关文章
- 清北考前刷题day4早安
LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> # ...
- 清北考前刷题day7早安
- 清北考前刷题day6早安
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...
- 清北考前刷题day2早安
/* 做法一:按h sort一遍,对于一段区间[i,j],高度花费就是h[j]-h[i] 然后枚举区间,把区间内C排序,一个一个尽量选即可. n^3logn 标算:n^3 dp 高度排序,保证从前往后 ...
- 清北考前刷题day1早安
立方数(cubic) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数 ...
- 清北考前刷题day1下午好
水题(water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽 ...
- 清北考前刷题da7下午好
三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include&l ...
- 清北考前刷题day6下午好
/* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include&l ...
- 清北考前刷题da5下午好
/* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...
随机推荐
- Qt5笔记之数据库(五)SQL表格模型QSqlTableModel
教程网址:http://www.qter.org/portal.php?mod=view&aid=57 0.打开tablemodel.pro文件,加上: QT += coregui sql 注 ...
- javaWeb学习之 Filter过滤器----https://www.cnblogs.com/xdp-gacl/p/3948353.html
https://www.cnblogs.com/xdp-gacl/p/3948353.html
- 九度oj 题目1063:整数和
题目1063:整数和 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4043 解决:2638 题目描述: 编写程序,读入一个整数N.若N为非负数,则计算N到2N之间的整数和:若N为一个负数 ...
- Apple & APPID & iOS & React Native
Apple & APPID & iOS & React Native 在没有 苹果开发者账号证书 APPID, ios 是否支持导出 app https://developer ...
- [bzoj1510][POI2006]Kra-The Disks_暴力
Kra-The Disks bzoj-1510 POI-2006 题目大意:题目链接. 注释:略. 想法:不难发现其实只有前缀最小值是有效的. 进而我们把盘子一个一个往里放,弄一个自底向上的指针往上蹦 ...
- cocos2d-x CCScrollView和CCTableView的使用
在游戏和应用中常常要实现左右滑动展示游戏帮助.以列表显示内容的UI效果,就像android中的Gallery和ListView. 本文通过CCScrollView和CCTableView分别来实现这两 ...
- html实现类似excel的复杂表格,及导出到excel
1. excellentexport.js https://github.com/jmaister/excellentexport/tree/2.0.3 2.fiddle example https ...
- MySQL 高可用架构在业务层面的分析研究
)读多写少 虚线表示跨机房部署,比方电子商务系统.一个Master既有读也有些写.对读数据一致性须要比較重要的.读要放在Master上面. M(R)仅仅是一个备库.仅仅有M(WR)挂了之后,才会切换到 ...
- 编程算法 - 两个升序列的同样元素 代码(C)
两个升序列的同样元素 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 两个升序列的同样元素, 须要使用两个指针, 依次遍历, 假设相等输出, 假设小于或 ...
- Python输入输出及其他
print用法 print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果.回车 \r 本义是光标重 ...