数列

#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的更多相关文章

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

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

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

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

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

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

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

    P102zhx a [问题描述]你是能看到第一题的 friends 呢.——hja两种操作:1.加入一个数.2.询问有多少个数是?的倍数.[输入格式]第一行一个整数?,代表操作数量.接下来?行,每行两 ...

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

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

  6. 2017-10-3 清北刷题冲刺班p.m

    a [问题描述]你是能看到第一题的 friends 呢.——hja给你一个只有小括号和中括号和大括号的括号序列,问该序列是否合法.[输入格式]一行一个括号序列.[输出格式]如果合法,输出 OK,否则输 ...

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

    P99zhx a [问题描述]你是能看到第一题的 friends 呢.——hja怎么快速记单词呢?也许把单词分类再记单词是个不错的选择.何大爷给出了一种分单词的方法,何大爷认为两个单词是同一类的当这两 ...

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

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

  9. 2017-10-1 清北刷题冲刺班p.m

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

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

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

随机推荐

  1. 分享知识-快乐自己:idea的断点调试

    1:Step Over ,进入下一步,如果是方法,那就直接跳过(F8) 2:Step Into,进入下一步,如果是方法,就进入方法内部,但是不会进入jdk封装的方法.(F7) 3:Force Step ...

  2. php导出内容到txt并自动弹出下载文件

    php将内容保存到txt文件中,并自动弹出下载文件窗口的方法: $id=array('我爱学习网http://www.5ixuexiwang.com','汇享在线工具箱http://tool.huix ...

  3. codeforces 651A A. Joysticks (模拟)

    A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  4. dubbo monitor simple 监控原理分析

    监控机制: 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心.监控中心负责统计各服务调用次数,调用时间等. 监控元数据存储目录结构: --dubbo.jetty ...

  5. [BZOJ1396&2865]识别子串

    bzoj1396 bzoj2865 dbzoj1396 dbzoj2865 题面 XX在进行字符串研究的时候,遇到了一个十分棘手的问题. 在这个问题中,给定一个字符串\(S\),与一个整数\(K\), ...

  6. POJ2449:K短路

    Remmarguts' Date Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 26355   Accepted: 7170 ...

  7. 【转】 Pro Android学习笔记(五九):Preferences(3):EditText和Ringtone Preference

    目录(?)[-] EditText Preferences xml文件 设备的存贮文件 Ringtone Preferences EditText Preferences xml文件 在res/xml ...

  8. OpenStack安装后检查流程总结

    安装后检查 1. 确保服务正常运行 首先查看服务的运行状态: #service xxx status 为防止对子服务有疏漏,可使用ps + grep 查看: # ps aux |grep xx 2. ...

  9. C++模板特化编程

    在C++中,模板特化是除了类之外的一种封装变化的方法.模板特化可以通过编译器来对不同的模板参数生成不同的代码. 模板特化通常以模板结构体作为载体.常用技法包括:类型定义.静态成员常量定义和静态成员函数 ...

  10. JS中数组方法小总结

    1.array.concat(item……) 返回:一个新数组 该方法产生一个新数组,它包含一份array的浅复制,并把一个或多个参数item附加在其后.如果参数item是一个数组,那么它的每个元素会 ...