/*
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. Leetcode 149.直线上最多的点数

    直线上最多的点数 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | |        o ...

  2. HDU 5876 补图 单源 最短路

    ---恢复内容开始--- Sparse Graph Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (J ...

  3. hdu - 2066 一个人的旅行(基础最短路)

    http://acm.hdu.edu.cn/showproblem.php?pid=2066 把与草儿相连的城市最短距离置为0,然后进行dijkstra,在t个城市里找出距离最近的一个即可. #inc ...

  4. 得到java异常printStackTrace的详细信息

    平时写Java代码时,想看抛出的异常信息,来找出具体的异常点,我们常常会用Exception.toString ()或者 Exception.getMessage()来取得异常信息,再把它print到 ...

  5. WCF - 自定义绑定

    自定义绑定 当系统提供的某个绑定不符合服务的要求时,可使用 CustomBinding 类.所有绑定都是从绑定元素的有序集构造而来的.自定义绑定可以从一组系统提供的绑定元素生成,也可以包含用户定义的自 ...

  6. java编程思想-复用类(2)

    如果java的基类拥有某个已被多次重载的方法名称,那么在导出类中重新定义该方法名称并不会屏蔽其在基类中的任何版本(这一点与C++不同) class Homer { char doh(char c) { ...

  7. Cocos2d-x旧引擎文件夹结构

    转自:http://blog.csdn.net/lwuit/article/details/7870395 Cocos2d-x的文件夹结构例如以下: 文件夹的详细结构介绍例如以下: Box2D:物理引 ...

  8. Qt实现Windows远程控制

    实现方式为server端+client. server端为一个进程.client为图形界面程序. client连接时设置server端的Ip地址,以及须要显示的长度和宽度(不能超过相应server端显 ...

  9. 基于Office 365 无代码工作流分析-数据源的建立!

     标准操作步骤 下面整个步骤我们是以嘉昊信息的招聘过程的整个流程为一个场景,整个的流程场景的步骤例如以下: 整个的过程,我们通过Infopath 进行对应的表单流转,然后利用Sharepoint ...

  10. poj3211Washing Clothes(字符串处理+01背包) hdu1171Big Event in HDU(01背包)

    题目链接: id=3211">poj3211  hdu1171 这个题目比1711难处理的是字符串怎样处理,所以我们要想办法,自然而然就要想到用结构体存储.所以最后将全部的衣服分组,然 ...