清北刷题冲刺 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> ...
随机推荐
- 分享知识-快乐自己:Liunx-大数据(Hadoop)初始化环境搭建
大数据初始化环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce 六):揭秘 ...
- poj 3666 Making the Grade(dp离散化)
Making the Grade Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7068 Accepted: 3265 ...
- Apache配置负载均衡-实例
公司两台服务器都安装了tomcat,配置apache作为负载均衡,当一台服务器出现故障时还能保证业务正常运行. Server1:192.168.1.100 Server2:192.168.1.200 ...
- utc时间、本地时间及时间戳转化
1.时间戳的概念 时间戳的定义请看百科unix时间戳,需要注意的时间戳为当前时刻减去UTC时间(1970.1.1)零点时刻的秒数差,与当前系统所处的时区无关,同一时刻不管在任何时区下得到的时间戳都是一 ...
- codeforces 650 C. Watchmen(数学公式)
C. Watchmen time limit per test 3 seconds memory limit per test 256 megabytes input standard input o ...
- URL、SRC、HREF知识整理
今天理一下URL.SRC.HREF定义以及使用区别. URL(Uniform Resource Locator) 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上 ...
- 最长递增子序列(LIS)
最长递增子序列(Longest Increasing Subsequence) ,我们简记为 LIS. 题:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列1,-1,2,-3,4,-5,6 ...
- 类方法,实例方法,静态方法,@property的应用
class test(object): h = 'hello' w = 'world' def demo(self): print("demo") def test_class(s ...
- 启动新内核出现:Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51841281 启动新内核出现错误:Kernel panic - not synci ...
- TS学习之解构与展开
一.解构 1.解构数组 let input = [1, 2]; let [first, second] = input; console.log(first); // outputs 1 consol ...