/*
辗转相除,每次计算多出现了几个数。
*/
#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. Python接口测试之unittest框架(五)

    Test-driven development(TDD)开发模式在今天已经不是什么新奇的事了,它的开发思维是在开发一个产品功能的时候,先 编写好该功能的测试代码,在编写开发比如,比如要写二个数相除的函 ...

  2. JavaEE JDBC 核心API

    JDBC接口核心的API @author ixenos java.sql.*   和  javax.sql.* |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口 ...

  3. URAL 1297 求最长回文字符串

    有种简单的方法,数组从左到右扫一遍,每次以当前的点为中心,只要左右相等就往左右走,这算出来的回文字符串是奇数长度的 还有偶数长度的回文字符串就是以当前扫到的点和它左边的点作为中心,然后往左右扫 这是O ...

  4. [luoguP3402] 最长公共子序列(DP + 离散化 + 树状数组)

    传送门 比 P1439 排列LCS问题,难那么一点点,只不过有的元素不是两个串都有,还有数据范围变大,树状数组得打离散化. 不过如果用栈+二分的话还是一样的. ——代码 #include <cs ...

  5. noip模拟赛 残

    分析:这道题有点丧病啊......斐波那契数列本来增长就快,n <= 10^100又套2层,看到题目就让人绝望.不过这种题目还是有套路的.首先求斐波那契数列肯定要用到矩阵快速幂,外层的f可以通过 ...

  6. POJ 3415 (后缀自动机)

    POJ 3415 Common Substrings Problem : 给两个串S.T (len <= 10^5), 询问两个串有多少个长度大于等于k的子串(位置不同也算). Solution ...

  7. mysql的时间戳说白了就俩问题,自动更新问题和不自动更新问题

    mysql的时间戳timestamp说白了就俩问题,自动更新问题和不自动更新问题

  8. tomcat会自动解压webapps目录下的war包

    如图,把war包放到tomcat的webapps目录,会被自动解压

  9. Unix网络编程 之 socket基础

    基本结构 (这部分的地址均为网络地址<网络字节序>) 1.struct sockaddr:通用套接字地址结构 此结构用于存储通用套接字地址. 数据结构定义: typedef unsigne ...

  10. BNU 25593 Prime Time 记忆化dp

    题目链接:点击打开链接 题意: 一个游戏由3个人轮流玩 每局游戏由当中一名玩家选择一个数字作为開始 目的:获得最小的得分 对于当前玩家 O .面对 u 这个数字 则他的操作有: 1. 计分 u +1 ...