AtCoder Regular Contest 090
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的更多相关文章
- 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 ...
- AtCoder Regular Contest 090 C D E F
C - Candies 题意 求左上角走到右下角最大的数字和. 思路 直接\(dp\) Code #include <bits/stdc++.h> #define maxn 110 usi ...
- 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 ...
- AtCoder Regular Contest 061
AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...
- AtCoder Regular Contest 094 (ARC094) CDE题解
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...
- AtCoder Regular Contest 092
AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\) ...
- AtCoder Regular Contest 093
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n ...
- AtCoder Regular Contest 094
AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...
- AtCoder Regular Contest 095
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: ...
随机推荐
- 啊哈算法第四章第二节解救小哈Java实现
package corejava; public class FourTwo { static int m;//(m,n)为几行几列 static int n; static int p;//(p,q ...
- 搭建Android浏览器壳子
搭建Android浏览器壳子 不久前我们要做一个Android端的手机APP,但没有用Android原生的组件, 而是把这个APP做成了一个访问某一固定IP的浏览器,即单纯的一个壳子: 具体的内容用V ...
- 微信小程序-if条件渲染
#index.wxml <view>今天吃啥</view> <view wx:if="{{condition==1}}"> 饺子 </vi ...
- Django继承AbstractUser新建UserInfor Model时出现fields.E304错误
错误详情: SystemCheckError: System check identified some issues: ERRORS:app01.UserInfo.groups: (fields.E ...
- 【docker 入门 - 01】- Docker 在 Centos7 上安装与测试
一.学习文档 官网网站: https://www.docker.com 中文网站:http://www.docker-cn.com 官方安装文档:https://docs.docker.com/ins ...
- Python人工智能第二篇
Python人工智能之路 - 第二篇 : 现成的技术 预备资料: 1.FFmpeg: 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w ...
- mysql 文件
慢查询日志 log_query_time 查询时间超过这个值则会出现在慢查询日志中,默认值是10 log_slow_queries 是否开启慢查询 log_queries_not_using_ind ...
- Android 菊花加载工具类
先看看实现效果图 1.首先自定义一个类继承系统ProgressDialog /** * Created by hanbao0928 on 2018/11/1. */ public class Dial ...
- JS解决在提交form表单时某个值不存在 alter弹窗点确定不刷新界面
<form action="" method="post" onsubmit="return checkname()"> < ...
- 网络通信实验(1)STM32F4 以太网简介
STM32F4 以太网简介 STM32F407 芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口 (MII) 和简化介质独立接口 (R ...