清北考前刷题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 ...
随机推荐
- Python条件判断(if)
Python条件判断(if) 一.基本介绍 1.Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句…… 需要注意的是,Python没有像其他大多数语言一样使用 ...
- ZOJ 2561 Order-Preserving Codes
Order-Preserving Codes Time Limit: 5000ms Memory Limit: 65536KB This problem will be judged on ZJU. ...
- Spark 动态(统一)内存管理模型
作者编辑:王玮,胡玉林 一.回顾 在前面的一篇文章中我们介绍了spark静态内存管理模式以及相关知识https://blog.csdn.net/anitinaj/article/details/809 ...
- python用模块zlib压缩与解压字符串和文件的方法
摘自:http://www.jb51.net/article/100218.htm Python标准模块中,有多个模块用于数据的压缩与解压缩,如zipfile,gzip, bz2等等. python中 ...
- codeforces Educational Codeforces Round 39 (Rated for Div. 2) D
D. Timetable time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- [bzoj4300]绝世好题_二进制拆分
绝世好题 bzoj-4300 题目大意:题目链接. 注释:略. 想法: 二进制拆分然后用一个数组单独存一下当前答案即可. Code: #include <iostream> #includ ...
- 洛谷——P1036 选数
题目描述 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12, ...
- MongoDB学习day03--索引和explain分析查询速度
一.索引基础 db.user.ensureIndex({"username":1}) 创建索引,username为key,数字 1 表示 username 键的索引按升序存储, - ...
- 洛谷 P1023 税收与补贴问题
P1023 税收与补贴问题 题目背景 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给定的最 ...
- MongoDB小结09 - update【定位修改器】
如果要操作数组中的值,可以用值在数组中的位置当做参数来删除 db.user.update({"name":"codingwhy.com"},{"$se ...