清北考前刷题day4下午好
- /*
- 辗转相除,每次计算多出现了几个数。
- */
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<cmath>
- #define ll long long
- using namespace std;
- ll a1,a2,a3,a4,ans;
- inline ll read()
- {
- ll x=,f=;char c=getchar();
- while(c>''||c<''){if(c=='-')f=-;c=getchar();}
- while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
- return x*f;
- }
- ll gcd(ll a,ll b)
- {
- if(!b) return a;
- ans+=ceil(a/b);
- return gcd(b,a%b);
- }
- int main()
- {
- freopen("seq.in","r",stdin);
- freopen("seq.out","w",stdout);
- ll tmp;
- a1=read();a2=read();
- if(a1<a2) a1^=a2,a2^=a1,a1^=a2;
- ll g=gcd(a1,a2);
- printf("%I64d\n",ans+);
- return ;
- }
- #include<bits/stdc++.h>
- #define N 1010
- #define M 40010
- using namespace std;
- int front[N],cap[M],to[M],nextt[M],dis[N],mx,mn,ans,tot,u,v,w,n,m,now,t;
- int siz[];
- int sum[];
- bool inque[N];
- inline void in(int &x)
- {
- x=;
- char ch=getchar();
- while(!isdigit(ch)) ch=getchar();
- while(isdigit(ch))
- {
- x=x*+ch-'';
- ch=getchar();
- }
- }
- inline void add(int u,int v,int w)
- {
- to[++tot]=v;
- nextt[tot]=front[u];
- front[u]=tot;
- cap[tot]=w;
- to[++tot]=u;
- nextt[tot]=front[v];
- front[v]=tot;
- cap[tot]=w;
- }
- queue<int>q;
- void spfa(int src)
- {
- mx=;
- mn=0x3f3f3f3f;
- memset(dis,-,sizeof(dis));
- memset(inque,,sizeof(inque));
- memset(siz,,sizeof(siz));
- dis[src]=0x3f3f3f3f;
- q.push(src);
- while(!q.empty())
- {
- now=q.front();
- q.pop();
- inque[now]=;
- for(int i=front[now]; i; i=nextt[i])
- {
- t=to[i];
- int val=min(dis[now],cap[i]);
- if(dis[t]<val)
- {
- siz[val]++;
- if(dis[t]!=-) siz[dis[t]]--;
- dis[t]=val;
- if(!inque[t])
- {
- inque[t]=;
- q.push(t);
- }
- }
- }
- }
- for(int i=; i>=; i--) sum[i]=sum[i+]+siz[i];
- for(int i=; i<=; i++)
- {
- ans+=(sum[i]-sum[i+])*(sum[i]-sum[i+]);
- }
- ans+=sum[]*sum[];
- }
- int main()
- {
- freopen("car.in","r",stdin);
- freopen("car.out","w",stdout);
- in(n);
- in(m);
- for(int i=; i<=m; i++)
- {
- in(u);in(v);in(w);
- add(u,v,w);
- }
- for(int i=; i<=n; i++)
- {
- ans=;
- spfa(i);
- printf("%d ",ans);
- }
- }
30暴力spfa
取数
- /*
- 30暴力dp
- */
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #define N 3001
- #define ll long long
- using namespace std;
- int n,m,k,cnt;
- ll ans;
- ll f[N][N],a[N];
- inline int read()
- {
- int x=,f=;char c=getchar();
- while(c>''||c<''){if(c=='-')f=-;c=getchar();}
- while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
- return x*f;
- }
- int main()
- {
- n=read();m=read();k=read();
- memset(f,,sizeof f);ans=0x3f3f3f3f3f;
- for(int i=;i<=n;i++) a[i]=read();
- for(int i=;i<=n;i++) f[i][]=min(f[i-][],a[i]);
- for(int i=m;i<=n;i++)
- for(int j=;j<=k;j++)
- f[i][j]=min(f[i][j],min(f[i-][j],f[i-m][j-]+a[i]));
- for(int i=k;i<=n;i++) ans=min(ans,f[i][k]);
- printf("%I64d\n",ans);
- }
清北考前刷题day4下午好的更多相关文章
- 清北考前刷题day1下午好
水题(water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水题. 这个水题是这样的:有两副牌,每副牌都有n张. 对于第一副牌的每张牌长和宽 ...
- 清北考前刷题da7下午好
三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include&l ...
- 清北考前刷题day3下午好
/* 可以并查集维护 可以发现,某个联通快出现大于等于2个环,一定无法分配. 有解要么一个环,要么没有环. 一个环时答案等于点数乘2(顺时针或逆时针). 没有环是树,对于一个n个点的树,方案一定有n种 ...
- 清北考前刷题day6下午好
/* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include&l ...
- 清北考前刷题da5下午好
/* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...
- 清北考前刷题day2下午好
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #defin ...
- 清北考前刷题day4早安
LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> # ...
- 清北考前刷题day7早安
- 清北考前刷题day6早安
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...
随机推荐
- 洛谷P1615 西游记公司
题目背景 一道极其无厘头的题目 题目描述 事情是这样的:西游记中的孙沙猪(孙杀猪)三徒弟在西天取经之后开始进入厦门大学经贸系学习经济,在1个小时的学习后,他们用暴力手段毕业了.然后,他们创办了三个公司 ...
- POJ 3684_Physics Experiment
题意: 若干球最初从高到低排列,依次落下. 球与地面碰撞,速度不变方向相反,球之间碰撞, 交换速度和方向.问某一时刻各个球的高度. 分析: 把球之间的碰撞看成是擦肩而过,但是由于半径的存在,最后每个球 ...
- Count the Colors-ZOJ1610(线段树区间求)
Painting some colored segments on a line, some previously painted segments may be covered by some th ...
- 2017-10-03-morning
#include <algorithm> #include <cstring> #include <cstdio> inline void read(int &am ...
- linux 硬件中断调节
什么是中断 中断interrupts是指硬件主动的来告诉CPU去做某些事情.比如网卡收到数据后可能主动的告诉CPU来处理自己接受到的数据,键盘有了按键输入后会主动告知CPU来读取输入. 硬件主动的打扰 ...
- 根据身份证号,取得行政区划的Javascript实现
原文:http://www.cnblogs.com/baibaluo/archive/2011/06/03/2071255.html#2585076 项目里需要一个根据身份证号,取得发证地行政区划的的 ...
- PopupMenu的演示样例
弹出菜单是停靠在一个View上的一个模式菜单. 假设View对象下方有空间,那么弹出菜单将显示在停靠对象的下方,否则会显示在上方. 这是很实用的: 源代码地址:http://download.csdn ...
- 请问这个「 (?<=<(\w+)>).*(?=<\/\1>) 」正则表达式是什么意思呢?
问题:https://www.zhihu.com/question/26480812 (?<=<(\w+)>).*(?=<\/\1>) ---------------- ...
- centos7容量扩充
新买的2T 绿盘到货了~~好开心的说~但毕竟是第一次安装,事先还是在网上搜索了很多资料才敢动手,下面就开始啦~ 环境:Centos7.dell服务器.2T容量绿盘 1.硬盘连接好之后,开机先使用fdi ...
- 爸爸和儿子的故事带你理解java线程
今天回想线程方面的知识,发现一个非常有意思的小程序.是用来说明多线程的以下贴出来分享下,对刚開始学习的人理解线程有非常大的帮助 爸爸和儿子的故事 <span style="font-f ...