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\) 分析: ...
随机推荐
- python各种web框架对比
0 引言 python在web开发方面有着广泛的应用.鉴于各种各样的框架,对于开发者来说如何选择将成为一个问题.为此,我特此对比较常见的几种框架从性能.使用感受以及应用情况进行一个粗略的 ...
- Python paramiko模块基本使用(一)
使用paramiko模块登录远程主机,对日志进行统计分析. import paramiko def batch_count(days, hours, ips, user, passwd, source ...
- 一个request引发的bug
有很多错误由于需要是多线程是才会发生,导致经常在开发时很难发现, import java.lang.reflect.ParameterizedType; import java.util.List; ...
- 使用 Spring Data 进行 MongoDB 4.0 事务处理
使用 Spring Data 进行 MongoDB 4.0 事务处理 原文链接:http://spring.io/blog/2018/06/28/hands-on-mongodb-4-0-transa ...
- SVM-sklearn
目的:1000张数字0-9的手写数字,训练识别手写数字:将其作为32*32的0,1化的数字,随后会将其变为1024列的一个向量 原理:SVM就是把平面的点变为一个空间的点,更好切,核函数就是怎么把他变 ...
- Redis主从集群及哨兵模式
本次实验环境准备用一台服务器模拟3台redis服务器,1主2从 主从集群搭建 第一步:安装Redis 安装Redis,参考前面安装Redis文章,保证单机使用没有问题. 第二步:配置服务器文件 定位到 ...
- 拦截过滤防御XSS攻击 -- Struts2.3 以及 2.5 的解决方式
使用Struts2框架开发的后台在防御XSS攻击的时候很多方式都不能用,因为Struts2对请求进行的二次封装有区别.以下针对Struts2的XSS攻击进行拦截过滤防御解决: Struts2.3 本方 ...
- innodb_flush_log_at_trx_commit与sync_binlog理解
innodb_flush_log_at_trx_commit该参数控制重做日志写入磁盘的过程.我们知道 InnoDB 使用“Write Ahead Log”策略来避免数据丢失问题,即依靠重做日志来保证 ...
- 数组引用:C++ 数组做参数 深入分析
转载:https://blog.csdn.net/jiangxinyu/article/details/7767065 在 C++中,数组永远不会按值传递,它是传递第一个元素,准确地说是第 0个 的指 ...
- 词根:sol = sun(太阳) 词根:sol = alone/single, whole/entire (单独的)
词根:sol = sun(太阳) sol 这个词根有的书上如刘毅字典,刘洪波英文字根词源精讲等上面说来自拉丁语的sol(=sun),有的书如赢在单词上面说sol 来自拉丁语的solari,但不管哪种说 ...