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. Nginx之 try_files 指令

    location / { try_files $uri $uri/ /index.php; } 当用户请求 http://localhost/example 时,这里的 $uri 就是 /exampl ...

  2. [Flutter] Windows/MacOS Flutter 环境走一遍

    Windows Install 1.系统需要:> win7 > 400M磁盘空间 Windows PowerShell(Windows 搜索框中找) Git for Windows 2.x ...

  3. jpa table主键生成策略

    用 table 来生成主键详解 它是在不影响性能情况下,通用性最强的 JPA 主键生成器.这种方法生成主键的策略可以适用于任何数据库,不必担心不同数据库不兼容造成的问题. initialValue不起 ...

  4. Spring再接触 Annotation part2

    resource resource beans.xml <?xml version="1.0" encoding="UTF-8"?> <bea ...

  5. jmeter启动报错

    # ./jmeter-server Using local port: 1099Server failed to start: java.rmi.server.ExportException: Lis ...

  6. css,html备忘录

    1.background:url()#000 ;代表当图片不够充满容器时,用黑色填满. 2.height:inherit;继承父级元素的高度. 当子元素给了绝对定位,父元素不给相对定位,子元素也能适配 ...

  7. linux/centOS 下安装 ngnix

    Nginx 是一款轻量级的 Web 服务器/反向代理服务器,比较流行,建议在 Linux 下安装运行. Nginx 需要的依赖 它们包括:gcc,openssl,zlib,pcre(可通过rpm -q ...

  8. BurpSuite抓HTTPS包

    Burp Suite要抓HTTPS的包的话,是需要有Burp Suite的CA证书的 为什么要证书这里就不说了,下面是具体步骤 1.首先要把Burp Suite的CA证书下载到本地 Burp Suit ...

  9. java第一章抽象和封装

    面向过程和面向对象有什么区别? 面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用. 面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用. 面向对象因为采用了 ...

  10. nginx+lua+kafka 编写 在线日志上报系统

    案例一 rewrite_by_lua ' --引入openresty自带的json处理对象 local cjson = require("cjson") local produce ...