URAL 2069 Hard Rock(思路)

题目地址:http://acm.timus.ru/problem.aspx?space=1&num=2069

思路:对于起点要么横着走,要么竖着走,则共有四种方式,直接竖横、横竖、先横后竖再横、现竖后横再竖,对于中间路径取最大值即可。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e5+50;
int row[maxn],col[maxn];
int main()
{
    int n,m,maxr=0,maxc=0;
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&row[i]);
        maxr=max(maxr,row[i]);
    }
    for(int i=0;i<m;i++)
    {
        scanf("%d",&col[i]);
        maxc=max(maxc,col[i]);
    }
    int ans;
    ans=min(row[0],col[m-1]);
    ans=max(ans,min(row[n-1],col[0]));
    ans=max(ans,min(row[0],min(maxc,row[n-1])));
    ans=max(ans,min(col[0],min(maxr,col[m-1])));
    printf("%d\n",ans);
    return 0;
}
时间: 2024-11-14 13:17:29

URAL 2069 Hard Rock(思路)的相关文章

[2016-04-16][URAL][2069][Hard Rock]

时间:2016-04-16 20:26:11 星期六 题目编号:[2016-04-16][URAL][2069][Hard Rock] 题目大意:给定一个n*m的格子,每个格子的边带有一定的权值,同行或者同列的边权值一样,问从左上角到右下角的所有路径中,最小边权最大值是多少? 分析: 对于起点,要么横着走,要么竖着走,对于终点,要么横着走到,要么竖着走到,所以所有路径如下图 对于1,2两条路径很显然,直接取边权的最小值 对于3,4的路径 首先两边的路的一定的,中间的路不确定, 最优的情况,中间的

URAL 1830 Help in the RNOS 思路,读题 难度:1

http://acm.timus.ru/problem.aspx?space=1&num=1830 这道题需要理解题目操作的意思, 要更改第i位的状态,第i-1位必须激活为1,0-i-2位必须为0,如果0-i-1位开始时全为0,那么从0位开始进行操作 一.首先考虑对于0-i-1位都是0,需要更改i位的情况,需要 1.更改i-1位,2.按一下打开下一页 对于更改i-1位,需要1.更改i-2位,2.按一下打开下一页,3.更改i-2位 可以得到一个式子,设f[i]为第0-i-1位均为0时,使得状态成为

URAL 1040 Airline Company 构造,思路 难度:2

http://acm.timus.ru/problem.aspx?space=1&num=1040 题目要求在一个联通无向图中找出一种方法给边标号使得任意一个有多条边的点,边的号码的最大公约数都为1 想象在dfs树上,以1为根进入,将第一条边标为序号1,则节点1满足条件 剩下的边遵照dfs顺序表明,那么非叶节点一定满足从父亲到自身的树边和自身的另一条边序号相邻 所以直接dfs标号即可 #include <cstdio> #include <cstring> #include

URAL 1684. Jack&#39;s Last Word KMP

题目来源:URAL 1684. Jack's Last Word 题意:输入a b 把b分成若干段 每一段都是a的前缀 思路:b为主串 然后用a匹配b 记录到b的i位置最大匹配的长度 然后分割 分割的时候要从后往前 如果a = abac b = abab 那么如果从前往后 首先覆盖了aba 然后b就不能覆盖了 从后往前就可以了 首先覆盖ab 下一次还是ab 因为已经记录了到i位置的最大匹配长度 根据长度从末尾倒退 每次倒退的时候只要是最大的匹配的长度 因为如果在某一次的递推 记录的最大匹配的前缀

Hard Rock

Ilya is a frontman of the most famous rock band on Earth. Band decided to make the most awesome music video ever for their new single. In that music video Ilya will go through Manhattan standing on the top of a huge truck and playing amazing guitar s

ROCK 聚类算法?

ROCK (RObust Clustering using linKs)  聚类算法‏是一种鲁棒的用于分类属性的聚类算法.该算法属于凝聚型的层次聚类算法.之所以鲁棒是因为在确认两对象(样本点/簇)之间的关系时考虑了他们共同的邻居(相似样本点)的数量,在算法中被叫做链接(Link)的概念.而一些聚类算法只关注对象之间的相似度. ROCK 算法中用到的四个关键概念 邻居(Neighbors):如果两个样本点的相似度达到了阈值(θ),这两个样本点就是邻居.阈值(θ)有用户指定,相似度也是通过用户指定的

POJ 2774 Long Long Message &amp;&amp; URAL 1517. Freedom of Choice(求最长重复子序列)

两个题目意思差不多,都是让求最长公共子串,只不过poj那个让输出长度,而URAL那个让输出一个任意的最长的子串. 解体思路: Long Long Message Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 22313   Accepted: 9145 Case Time Limit: 1000MS Description The little cat is majoring in physics in the cap

URAL 1268. Little Chu 求最大原根

题目来源:URAL 1268. Little Chu 题意:输入n 求一个最大的k 使得k^1 k^2 k^3...k^x mod n 后各不相同 思路:mod n 后各不相同 最多有 n个 那么此事k就是原根 因为k <= n 所以从n开始向下枚举 求一个最大的原根 #include <cstdio> #include <cstring> using namespace std; typedef long long LL; int p[100000], c; LL pow_

URAL 1297 后缀数组:求最长回文子串

思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了. 然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了. 然后看题解,里面都是用RMQ先预处理任意两个后缀的最长公共前缀,因为不太知道这个,所以又看了一下午,嘛嘛-- 然后理解RMQ和后缀一起用的时候才发现其实这里不用RMQ也可以,只要特殊处理一下上面这个没过的例子就行了,哈哈--机智-- 不过那个国家集训队论文里面正解是用RMQ做的,自己还得会和RMQ一