立方体

/*
输入数据中的p的位置是没有用的,而题目本质上是求C(n,k)
*/
#include<iostream>
#include<cstdio>
#define mod 1000000007
#define maxn 1000001
using namespace std;
int n,k,x;
long long fac[maxn]={,},inv[maxn]={,},f[maxn]={,};
long long C(long long a,long long b){
return fac[a]*inv[b]%mod*inv[a-b]%mod;
}
void prepare(){
for(int i=;i<maxn;i++){
fac[i]=fac[i-]*i%mod;
f[i]=(mod-mod/i)*f[mod%i]%mod;
inv[i]=inv[i-]*f[i]%mod;
}
}
int main(){
freopen("cube.in","r",stdin);freopen("cube.out","w",stdout);
scanf("%d%d",&n,&k);
prepare();
for(int i=;i<=n;i++)scanf("%d",&x);
cout<<C(n,k);
return ;
}

100分 组合数

仓库

/*
跑一遍最大生成树,把边权存下来,然后排个序
每次询问只需要找小于w的辺权的个数加一即可
查找的时候用二分
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxn 100010
using namespace std;
int n,m,q,a[maxn],cnt,fa[maxn];
struct Node{
int x,y,v;
}E[maxn];
int query(int x){
int l=,r=n-,res=;
while(l<=r){
int mid=(l+r)>>;
if(a[mid]<x)res=mid,l=mid+;
else r=mid-;
}
return res;
}
bool cmp(Node x,Node y){return x.v>y.v;}
int find(int x){
if(x==fa[x])return x;
return fa[x]=find(fa[x]);
}
int main(){
// freopen("Cola.txt","r",stdin);
freopen("warehouse.in","r",stdin);freopen("warehouse.out","w",stdout);
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=n;i++)fa[i]=i;
int x,y;
for(int i=;i<=m;i++)scanf("%d%d%d",&E[i].x,&E[i].y,&E[i].v);
sort(E+,E+m+,cmp);
for(int i=;i<=m;i++){
int f1=find(E[i].x),f2=find(E[i].y);
if(f1==f2)continue;
fa[f1]=f2;
a[++cnt]=E[i].v;
if(cnt==n-)break;
}
sort(a+,a+cnt+);
while(q--){
scanf("%d",&x);
int pos=query(x);
pos+=;
printf("%d\n",pos);
}
return ;
}

100分 生成树

单词

#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#define maxn 1010
using namespace std;
int n,q,len[maxn],L;
string s[maxn];
map<string,bool>vis;
int main(){
freopen("word.in","r",stdin);freopen("word.out","w",stdout);
// freopen("Cola.txt","r",stdin);
scanf("%d%d",&n,&q);
for(int i=;i<=n;i++){
cin>>s[i];
len[i]=s[i].length();
}
while(q--){
scanf("%d",&L);
vis.clear();
long long ans=;
for(int i=;i<=n;i++){
if(len[i]==L){
ans++;
vis[s[i]]=;
}
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(len[i]+len[j]<L)continue;
string snow="";
for(int l1=max(,L-len[j]);l1<=min(len[i],L-);l1++){//枚举用第一个字符串的多长
snow="";int l2=L-l1;
snow+=s[i].substr(,l1);
snow+=s[j].substr(len[j]-l2,l2);
if(!vis[snow]){
vis[snow]=;
ans++;
}
}
}
}
printf("%d\n",ans);
}
}

0分 暴力stl

预计得分100++
实际得分100++
今天的T1T2特别简单,T3一开始以为是Trie树,但是后来不太会做,就直接写的暴力,复杂度很高,map常熟又特别大,所以估分为0
今天早上迟到了,心情比较焦躁,但是T1特别简单,所以没有耽误很多时间

小结

清北刷题冲刺 11-01 a.m的更多相关文章

  1. 清北刷题冲刺 11-03 a.m

    纸牌 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  2. 2017-10-4 清北刷题冲刺班a.m

    P101zhx a [问题描述]你是能看到第一题的 friends 呢.——hjaHja 拥有一套时光穿梭技术,能把字符串以超越光速的速度传播,但是唯一的问题是可能会 GG.在传输的过程中,可能有四种 ...

  3. 2017-10-2 清北刷题冲刺班a.m

    一道图论神题 (god) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只 ...

  4. 2017-10-2 清北刷题冲刺班p.m

    最大值 (max) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n ...

  5. 清北刷题冲刺 11-02 a.m

    卖书 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  6. 清北刷题冲刺 11-01 p.m

    轮换 #include<iostream> #include<cstdio> #include<cstring> #define maxn 1010 using n ...

  7. 清北刷题冲刺 10-31 a.m

    集合 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ], ...

  8. 清北刷题冲刺 10-30 a.m

    星空 #include<iostream> #include<cstdio> using namespace std; int n,m; int main(){ freopen ...

  9. 清北刷题冲刺 10-29 p.m

    洗澡 /* 这个题不能单纯判断左括号和右括号的多少,而应该从左到右扫一遍,看应该如何配对 */ #include<iostream> #include<cstdio> #inc ...

  10. 清北刷题冲刺 10-28 p.m

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

随机推荐

  1. 五 Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  2. Unity3D之Mesh(七)绘制长方体

    前言: 从现在开始,终于感觉进入一点点正题了!动态创建三维立体模型mesh!依然从简单入手:长方体. 一.基本思路 由于是创建长方体mesh,由之前的研究得知,两个数据必须要有,即:顶点的数据:ver ...

  3. 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)

    说明:主要是基于ghostyu网友整理的< arm mini2440 基于v4l2 ffmpeg x264的视频远程监控>.自己做了一遍,遇到不少问题,就整理记录下来. 1.平台 硬件:a ...

  4. YNOI2016 这是我自己的发明

    看到这个标题立刻想到:. “绝地科学家,八倍不屏息啊,八百里外把头打啊...” 首先我们发现如果只考虑第二个操作,这棵树就是假的,我们可以直接莫队解决 如果考虑换根的话...可以把一个操作换成小于等于 ...

  5. bzoj 3653: 谈笑风生 可持久化线段树

    题目大意 在一棵单位边权的有根树上支持询问: 给定a,k求满足下列条件的有序三元对的个数. a,b,c互不相同 a,b均为c的祖先 a,b树上距离<=k 题解 solution 1 首先我们知道 ...

  6. 【Sublime Text 3】编译环境

    1.默认编译时总会出现错误 报错: [Finished in 1.3s with exit code 1][cmd: ['gcc', 'V:\\Cynthia\\01.c']][dir: V:\Cyn ...

  7. Linux使用tcpdump抓取网络数据包示例

    tcpdump是Linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...

  8. 升级MySQL 5.7版本遇到的一些小问题(转)

    在5.6版本服务器做备份 /usr/local/mysql/bin/mysqldump -S /tmp/mysql3306.sock -A -p --set-gtid-purged=OFF > ...

  9. python 基础 字典生成式

    dict1 = {1:2,3:4,6:7,9:10} print dict((v,k) for k,v in dict.items()) 结果 {2:1.4:3,10:9,7:6} res = [{' ...

  10. WEB服务器(IIS)的配置与管理

    安装Web服务器(IIS) 在"服务器管理器"-"角色"-"添加角色"-选择"Web服务器(IIS)"进行安装 这里,我 ...