/*
辗转相除,每次计算多出现了几个数。
*/
#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下午好的更多相关文章

  1. 清北考前刷题day1下午好

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

  2. 清北考前刷题da7下午好

    三向城 /* 原图一定是一棵完全二叉树. 根节点是x,左节点是x*2,右节点是x*2+1 转化为二进制往左右走就很明显了. */ #include<iostream> #include&l ...

  3. 清北考前刷题day3下午好

    /* 可以并查集维护 可以发现,某个联通快出现大于等于2个环,一定无法分配. 有解要么一个环,要么没有环. 一个环时答案等于点数乘2(顺时针或逆时针). 没有环是树,对于一个n个点的树,方案一定有n种 ...

  4. 清北考前刷题day6下午好

    /* 贪心 负数一定不取 枚举最高位是1 且答案取为0的 位置, 更新答案. */ #include<iostream> #include<cstdio> #include&l ...

  5. 清北考前刷题da5下午好

    /* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...

  6. 清北考前刷题day2下午好

    #include<iostream> #include<cstdio> #include<cstring> #include<stack> #defin ...

  7. 清北考前刷题day4早安

      LI /* 没有考虑次大值有大于一个的情况 */ #include<iostream> #include<cstdio> #include<cstring> # ...

  8. 清北考前刷题day7早安

  9. 清北考前刷题day6早安

    #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #d ...

随机推荐

  1. Qt 安装与配置记录

    一 安装的时候得选一个Qt安装啊!!不要忘了展开这一项,而只安装Qt creator 展开之后会发现有很多版本,为了方便,选自带编译器mingw,就不需要麻烦的配置了 二 打开Qt creator 后 ...

  2. 6.0以上,SYSTEM_ALERT_WINDOW 权限的问题

    6.0以上会因为SYSTEM_ALERT_WINDOW权限的问题,无法在最上层显示. 用户打开软件设置页手动打开,才能授权.路径是:Settings->Apps->App Setting- ...

  3. Git 与其他系统 - Git 与 Subversion

    https://git-scm.com/book/zh/v1/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-Git-%E4%B8%8E-Subve ...

  4. Java Class 利用classpath来获取源文件地址

    利用classpath来获取源文件地址 @author ixenos 应用场景 Properties props = new Properties(); /** * . 代表java命令运行的目录 * ...

  5. hihoCoder#1114 小Hi小Ho的惊天大作战:扫雷·一

    原题地址 回溯+搜索 枚举每个位置上能否放地雷,当第i个位置枚举完成后,第i-1个位置的情况就确定了,此时,检查第i-1个位置是否满足要求,即左右间隔为1的范围内地雷数是否等于申明数字,如果满足条件, ...

  6. 【状压+状态转移】A Famous Airport Managere

    https://www.bnuoj.com/v3/problem_show.php?pid=25653 [题意] 给定一个3*3的九宫格,模拟一个停机坪.第一个格子一定是'*',代表take off ...

  7. Frequent values(poj 3368)

    题意:给出n个数和Q个询问(l,r),对于每个询问求出(l,r)之间连续出现次数最多的次数. 代码: /* rmq算法 当询问到x,y时,设在x之后并且与a[x]相同的最后一个数编号为t,那么x到t之 ...

  8. 选择器的使用(nth-child和nth-last-child选择器)

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  9. windows下编译jpeg

    项目为了脱离OpenCV,直接采用libjpeg,记录在windows下jpeg安装. 项目地址http://www.ijg.org/ 下载解压缩jpeg-9a 看了看OpenCV中对libjpeg的 ...

  10. Project Perfect让Swift在server端跑起来-Perfect in Visual Studio Code (四)

    编者语 : 本系列文章已经被Perfect官方引用了,这样的感觉非常好.感恩!Thx all ! Visual Studio Code是一个轻量级的编辑器,但也功能丰富,通过插件你能够完毕如Cordo ...