C - Candies

链接:https://arc090.contest.atcoder.jp/tasks/arc090_a

题意:从左上角走到右下角,只能向右和向下走,问能最多能拿多少糖果。

思路:dp[i][j]=max(dp[i-1][j],dp[i][j-1])+dp[i][j];

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int dp[][];
int n;
int main()
{
cin>>n;
for(int i=;i<=;i++)
for(int j=;j<=n;j++)
cin>>dp[i][j];
for(int i=;i<=;i++)
for(int j=;j<=n;j++)
dp[i][j]=max(dp[i-][j],dp[i][j-])+dp[i][j];
cout<<dp[][n]<<endl;
return ;
}

D - People on a Line

链接:https://arc090.contest.atcoder.jp/tasks/arc090_b

题意:坐标上有N个点,给出M条边。没条边给出L R D,意思为L在R的左边距离R的距离为D。

思路:带权的并查集。对并查集的认识再次上升一个高度,之前都是处理结点是不是在同一个集合,这次还要处理结点之间的距离,第一次遇到这种带权值的题目,把儿子到父亲的距离想的太简单了(其实是太菜)Orz,找了两个小时的bug。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define maxn 100005
int pre[maxn];
int dis[maxn];
int n,m,l,r,d,fl,fr;
void init()
{
for(int i=;i<=n;i++)
pre[i]=i,dis[i]=;
}
int Find(int x)
{
if(pre[x]==x)
return x;
int fa=pre[x];
pre[x]=Find(pre[x]);
dis[x]+=dis[fa];
return pre[x];
}
int same(int l,int r)
{
fl=Find(l);
fr=Find(r);
if(fl==fr)
return ;
else
return ;
}
void unite()
{
pre[fr]=fl;
dis[fr]=dis[l]+d-dis[r];
}
int main()
{
cin>>n>>m;
init();
int flag=;
while(m--)
{
cin>>l>>r>>d;
if(flag)
continue;
if(!same(l,r))
{
unite();
}
else
{
if(dis[r]-dis[l]!=d)
flag=;
}
}
if(flag)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
return ;
}

这个题目我看在AT上看了其他人的代码,有用最短路写的,也有用搜索写的,orz。大家可以尝试换不同的方法写。

AtCoder Regular Contest 090的更多相关文章

  1. AtCoder Regular Contest 090 F - Number of Digits

    题目链接 Description For a positive integer \(n\), let us define \(f(n)\) as the number of digits in bas ...

  2. AtCoder Regular Contest 090 C D E F

    C - Candies 题意 求左上角走到右下角最大的数字和. 思路 直接\(dp\) Code #include <bits/stdc++.h> #define maxn 110 usi ...

  3. AtCoder Regular Contest 090 D - People on a Line

    D - People on a Line Problem Statement There are N people standing on the x-axis. Let the coordinate ...

  4. AtCoder Regular Contest 061

    AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...

  5. AtCoder Regular Contest 094 (ARC094) CDE题解

    原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...

  6. AtCoder Regular Contest 092

    AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\) ...

  7. AtCoder Regular Contest 093

    AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...

  8. AtCoder Regular Contest 094

    AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...

  9. AtCoder Regular Contest 095

    AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...

随机推荐

  1. java面试题复习(六)

    51.实现多线程的方法 一种是继承Thread类:另一种是实现Runnable接口.两种方式都要通过重写run()方法来定义线程的行为,推荐使用后者,因为Java中的继承是单继承,一个类有一个父类,如 ...

  2. java枚举变量反解析用法

    最近常常有一些项目需要给枚举设值一个int值,以及对int值进行反解析出枚举类型,代码如下: public enum MatchResultEnum { /** * 赢 */ WIN(0), /** ...

  3. jsonp现实跨域Ajax CORS

    浏览器有一个很重要的概念——同源策略(Same-Origin Policy).所谓同源是指,域名,协议,端口相同.不同源的客户端脚本(javascript.ActionScript)在没明确授权的情况 ...

  4. python视频学习笔记3(循环)

    一.程序的三大流程 二.while 初始条件设置 —— 通常是重复执行的 计数器 while 条件(判断 计数器 是否达到 目标次数): 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做 ...

  5. [Linux] umask 从三类人群的权限中拿走权限数字

      作用   umask 用来设置用户创建文件.目录的默认权限,通过从权限中拿走相应的位,格式 `umask nnn`.     理解   rwx rwx rwx 权限对应三类人群,所属人,所属组,其 ...

  6. [phvia/dkc] Docker Compose 快速构建(LNMP+Node)运行环境

    快速构建(LNMP+Node)运行环境. dkc 在此作为 docker-compose 的缩写,你可以理解为 alias dkc=docker-compose 准备 安装 docker 选择1) 从 ...

  7. GIS案例学习笔记-三维生成和可视化表达

    GIS案例学习笔记-三维生成和可视化表达 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:针对栅格或者矢量数值型数据,进行三维可视化表达 操作时间:15分钟 案 ...

  8. TODO:BGP 建立过程

    //TODO: Quagga 实时监控配置文件

  9. 微信小程序:request合法域名检验出错,https://apis.map.qq.com 不在以下 request 合法域名列表中

    设置域名 登录微信小程序后台, 设置→开发设置→服务器设置 必须设置域名,微信小程序才能进行网络通讯,不然会报错 如果没有设置合法域名,在开发阶段是可以不设置合法域名的 详情 -项目设置 好了,完美解 ...

  10. “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...