清北刷题冲刺 10-31 p.m
数列

#include<iostream>
#include<cstdio>
using namespace std;
long long a,b,ans;
void f(long long x,long long y){
if(y==)return;
ans+=x/y;
f(y,x%y);
}
int main(){
freopen("seq.in","r",stdin);freopen("seq.out","w",stdout);
cin>>a>>b;
ans=;
f(a,b);
cout<<ans;
}
100分 gcd
车辆销售


#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<ctime>
#define maxn 100010
#ifdef WIN32
#define PLL "%I64d"
#else
#define PLL "%lld"
#endif
using namespace std;
int n,m,num,head[maxn],mx,mn=0x7fffffff,cnt;
bool vis[maxn];
struct node{
int to,pre,v;
}e[*];
void Insert(int from,int to,int v){
e[++num].to=to;
e[num].v=v;
e[num].pre=head[from];
head[from]=num;
}
int q[maxn],h,t;
int res;
bool flag=,com[maxn];
int bfs(int limit){
h=;
while(h<=t){
int now=q[h];h++;
if(com[now])continue;
flag=;
for(int i=head[now];i;i=e[i].pre){
if(e[i].v<limit){
flag=;
continue;
}
int to=e[i].to;
if(!vis[to]){
res++;
vis[to]=;
q[t++]=to;
}
}
if(flag==)com[now]=;
}
return res;
}
int qread(){
int i=,j=;
char ch=getchar();
while(ch<''||ch>''){if(ch=='-')j=-;ch=getchar();}
while(ch<=''&&ch>='')i=i*+ch-'',ch=getchar();
return i*j;
}
int main(){
// freopen("Cola.txt","r",stdin);
freopen("car.in","r",stdin);freopen("car.out","w",stdout);
n=qread();m=qread();
int x,y,z;
for(int i=;i<=m;i++){
x=qread();y=qread();z=qread();
Insert(x,y,z);Insert(y,x,z);
mx=max(mx,z);mn=min(mn,z);
}
long long ans;
for(int i=;i<=n;i++){
ans=;
memset(q,,sizeof(q));h=t=;
memset(vis,,sizeof(vis));
memset(com,,sizeof(com));
q[t++]=i;vis[i]=;
res=;
int p,now;
for(int j=mx+;j>=mn-;j--){
if(j<)break;
now=bfs(j);
if(j==mx+){p=now;continue;}
ans+=1LL*(p-now)*(p-now);
p=now;
}
printf(PLL" ",ans);
}
// cout<<endl<<clock();
}
30分 bfs暴力
取数


#include<iostream>
#include<cstdio>
#define maxn 1000010
using namespace std;
int n,m,k,a[maxn];
long long ans=;
int qread(){
int i=,j=;
char ch=getchar();
while(ch<''||ch>''){if(ch=='-')j=-;ch=getchar();}
while(ch<=''&&ch>='')i=i*+ch-'',ch=getchar();
return i*j;
}
void dfs(int pos,int cnt,long long sum){
if(cnt==k){
ans=min(ans,sum);
return;
}
if(sum>=ans)return;
if(pos>=n)return;
int res=;
res+=(n-pos)/m;
if(res*m<n-pos)res++;
if(res+cnt<k)return;
if(cnt==){
for(int i=pos+;i<=n;i++)dfs(i,cnt+,sum+a[i]);
return;
}
for(int i=pos+m;i<=n;i++){
dfs(i,cnt+,sum+a[i]);
}
}
int main(){
freopen("number.in","r",stdin);freopen("number.out","w",stdout);
// freopen("Cola.txt","r",stdin);
n=qread();m=qread();k=qread();
for(int i=;i<=n;i++)a[i]=qread();
dfs(,,);
cout<<ans;
}
20分 暴力
预计得分100++
实际得分100++
T1有一定的思维量,但是代码很好写,也很容易从辗转相减想到辗转相除。T2T3都写的暴力,T3用的dfs,写的剪枝比较多,所以得到了20分。
感觉这几天以来上午炸的概率比较大,精神状态不好,下午相对还可以。晚上要保证睡眠充足,尽量以较好的精神面貌迎接上午的考试
小结
清北刷题冲刺 10-31 p.m的更多相关文章
- 2017-10-2 清北刷题冲刺班p.m
最大值 (max) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n ...
- 清北刷题冲刺 10-30 a.m
星空 #include<iostream> #include<cstdio> using namespace std; int n,m; int main(){ freopen ...
- 清北刷题冲刺 10-28 p.m
水题(贪心) (water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每 ...
- 2017-10-4 清北刷题冲刺班p.m
P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两 ...
- 2017-10-4 清北刷题冲刺班a.m
P101zhx a [问题描述]你是能看到第一题的 friends 呢.——hjaHja 拥有一套时光穿梭技术,能把字符串以超越光速的速度传播,但是唯一的问题是可能会 GG.在传输的过程中,可能有四种 ...
- 2017-10-3 清北刷题冲刺班p.m
a [问题描述]你是能看到第一题的 friends 呢.——hja给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法.[输入格式]一行一个括号序列.[输出格式]如果合法,输出 OK,否则输 ...
- 2017-10-3 清北刷题冲刺班a.m
P99zhx a [问题描述]你是能看到第一题的 friends 呢.——hja怎么快速记单词呢?也许把单词分类再记单词是个不错的选择.何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两 ...
- 2017-10-2 清北刷题冲刺班a.m
一道图论神题 (god) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只 ...
- 2017-10-1 清北刷题冲刺班p.m
一道图论好题 (graph) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图 ...
- 清北刷题冲刺 11-03 a.m
纸牌 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
随机推荐
- priority_queue用法(转载)
关于priority_queue 1,关于STL中的priority_queue:确定用top()查看顶部元素时,该元素是具有最高优先级的一个元素. 调用pop()删除之后,将促使下一个元素进入该位置 ...
- algorithm之排序算法--待解决
简述:排序算法,参见http://www.cplusplus.com/reference/algorithm/?kw=algorithm 待解决问题:各种排序算法的实现 /* template < ...
- 2018.5.8 Project review
1 .product introduced A. Function requirement (customer) The product function is control the 1KW and ...
- QListWidget拖放
setDragEnabled() 允许拖 setAcceptDrops()允许放 setDragDropMode(QAbstractItemView.DragDrop)设置拖拽模式 setSelect ...
- type_traits.h
type_traits.h // Filename: type_traits.h // Comment By: 凝霜 // E-mail: mdl2009@vip.qq.com // Blog: ht ...
- Qt Create 4.6.2无法自动生成Android Kit
开发环境: OS,Microsoft Windows [Version 10.0.17134.523] Qt,5.11.1 Qt Creator,4.6.2 JDK,1.8.0_181 Android ...
- bzoj 4631: 踩气球 线段树
题目: Description 六一儿童节到了, SHUXK 被迫陪着M个熊孩子玩一个无聊的游戏:有N个盒子从左到右排成一排,第i个盒子里装着Ai个气球. SHUXK 要进行Q次操作,每次从某一个盒子 ...
- VBA记录当前系统时间并精确到毫秒
想做个功能,点一次按钮,就在A1记录一次当前系统时间,要精确到毫秒的.再点一次按钮就在A2显示,以此类推! 例如:这个功能可以用来做歌词记时间! Sub ttt() ActiveCell.Select ...
- windows7下安装gem包---bcrypt-ruby
在Gemfile中添加 gem 'bcrypt-ruby', '~> 3.0.0' 然后执行bundle install,rails服务启动没有问题,但是运行程序时页面报错如下: cannot ...
- TreeSet 和TreeMap 排序
TreeSet 有两种排序方式 1. Java.lang.Comparble+compareTo new TreeSet() 用这种方法必须要求实体类实现Comparable接口,也就是说要求添加到T ...