清北刷题冲刺 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> ...
随机推荐
- 普林斯顿算法(1.3)并查集(union-find算法)——本质就是一个数 下面的子树代表了连在一起的点
转自:https://libhappy.com/2016/03/algs-1.3/ 假设在互联网中有两台计算机需要互相通信,那么该怎么确定它们之间是否已经连接起来还是需要架设新的线路连接这两台计算机. ...
- python习题-注册用户程序
把上周的注册程序改一下,用字典保存# 字典格式如下:# {# "niuhanyang":{"passwd":"123456","r ...
- java jdk1.7后 sting intern()方法与之前的区别
public static void main(String[] args) { String s1 = new StringBuilder("计算机").append(" ...
- FEC之异或运算应用
话说为啥FEC需要异或( ^/⊕ )操作呢? 异或:xor 异或运算规则: 0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0 异或运算特性: 1). a ...
- RTP Payload Format for Opus Speech and Audio Codec
[Docs] [txt|pdf] [Tracker] [WG] [Email] [Diff1] [Diff2] [Nits] Versions: (draft-spittka-payload-rtp- ...
- 标准模板库(STL)学习指南之priority_queue优先队列
转载自CSDN博客:http://blog.csdn.net/suwei19870312/article/details/5294016 priority_queue 调用 STL里面的 make_h ...
- Azure Public IP DNS域名
在某些环境下,PIP是Azure上的一种比较好的解决方案处理一些特殊的环境.比如大量的端口需要打开.向外部的访问非常多等等. 但目前,Azure的Reserved IP address不用应用到PIP ...
- hdoj1113(字符串map应用)
#include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...
- redis的read error on connection错误解决
昨日,公司php调用redis报错:read error on connection 2015-01-29 23:59:050.13330000,redis存放的是用户session. 在网上查询,大 ...
- JSP介绍(4)--- JSP 过滤器
过滤器是可用于 Servlet 编程的 Java 类,可以实现以下目的: 在客户端的请求访问后端资源之前,拦截这些请求. 在服务器的响应发送回客户端之前,处理这些响应. 过滤器通过 Web 部署描述符 ...