/*
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早安的更多相关文章

  1. 清北考前刷题day4早安

      LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> # ...

  2. 清北考前刷题day7早安

  3. 清北考前刷题day6早安

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...

  4. 清北考前刷题day2早安

    /* 做法一:按h sort一遍,对于一段区间[i,j],高度花费就是h[j]-h[i] 然后枚举区间,把区间内C排序,一个一个尽量选即可. n^3logn 标算:n^3 dp 高度排序,保证从前往后 ...

  5. 清北考前刷题day1早安

    立方数(cubic) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK定义了一个数叫“立方数”,若一个数可以被写作是一个正整数的3次方,则这个数就是立方数 ...

  6. 清北考前刷题day1下午好

    水题(water) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽 ...

  7. 清北考前刷题da7下午好

    三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include&l ...

  8. 清北考前刷题day6下午好

    /* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include&l ...

  9. 清北考前刷题da5下午好

    /* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...

随机推荐

  1. STM32F407 新建基于固件库的项目模板

    1.新建文件夹如图: 2.新建项目在USER文件夹中,选cpu如图: 若再弹出窗口, 直接点cancel 3.删了这俩文件夹: 4.复制文件到fwlib: src 存放的是固件库的.c 文件, inc ...

  2. Light oj-1002 - Country Roads,迪杰斯特拉变形,不错不错~~

                                                                                               1002 - Co ...

  3. poj_2586_Y2K Accounting Bug_201407211318

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10210   Accepted: 50 ...

  4. Devu and Flowers lucas定理+容斥原理

    Devu wants to decorate his garden with flowers. He has purchased n boxes, where the i-th box contain ...

  5. BootStrap3栅格系统与布局

    栅格系统与布局 Use our powerful mobile-first flexbox grid to build layouts of all shapes and sizes thanks t ...

  6. 创建简单的spring-mvc项目

    1.第一步:创建项目 new—>Dynamic Web Project 项目创建成功后,展示如图: 2.第二步:导入springmvc的jar包和common-logging.jar 3.第三步 ...

  7. sata express接口

    华硕z97主板的sata express接口目前没什么用,但随着电脑接口的发展,可能会占据一席之地. 1.顾名思义,SATA-Express是SATA接口 + PCI-Express的混合体,其理论带 ...

  8. css 實現微信聊天類似的氣泡

    要實現這樣的效果 代碼如下: --------------------------------------- <style> .test{width:300px; padding:30px ...

  9. 免费好用的Microsoft iSCSI Software Target 3.3

    我们在搭建Windows群集的时候往往会使用到IP-SAN.但是面对昂贵的硬件IP-SAN,我们在学习和实验的环境中更加多的用到的往往是软件模拟的IP-SAN.今天就给大家介绍一个微软出品的免费iSC ...

  10. jacoco+maven生成单元测试覆盖率报告

    参考:https://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-in ...