正题

题目链接:https://jzoj.net/senior/#main/show/3845


题目大意

美丽的仙人掌定义为:
一个仙人掌,第iii到jjj号点(i<j)(i<j)(i<j)一定存在一条经过了j−i+1j-i+1j−i+1个点的简单路径。

给出一张无向图,选出最多的边使得它是一个美丽的仙人掌。


解题思路

首先这张图的基础是一条链贯穿1∼n1\sim n1∼n,然后我们在上面加边,我们发现若i∼ji\sim ji∼j之间加了边,那么他们之间就不能再加边了,问题转换为给出若干条线段,选择出最多的使它们互不重叠。

fif_ifi​表示到第iii个时的最多线段,那么有fi=max{fi−1,fj+1(j−>i)}f_i=max\{f_{i-1},f_j+1(j->i)\}fi​=max{fi−1​,fj​+1(j−>i)}


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e5+10;
int n,m,f[N],ans;
bool v[N];
vector<int> q[N];
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);if(x>y) swap(x,y);if(x==y-1&&!v[y])  ans++,v[y]=1;else q[y].push_back(x);}for(int i=1;i<=n;i++){f[i]=f[i-1];for(int j=0;j<q[i].size();j++)f[i]=max(f[i],f[q[i][j]]+1);}printf("%d",f[n]+ans);
}

jzoj3845-简单题【dp】相关推荐

  1. (蓝桥杯)数字三角形。。(最简单的dp题)

    (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1<三角形行数≤100: ●三角形 ...

  2. 自用力扣笔记备忘录——数组tag简单题

    想来想去还是决定写在csdn,本地的移动性不太好 此备忘录自用为住,方便本人复习用的 方法1为本人自己写的,其他的均有参考 目录若无方法一只有方法二,则是没写出来: 如果没有方法N小标题说明这个题官方 ...

  3. leetcode 最常见的150道前端面试题(简单题下)

    本文题目选自 LeetCode 精选 TOP 面试题[1],这些题在自己和同事亲身经历中,确实遇到的几率在百分之80%以上(成都和北京的前端岗位). 本篇是简单题(下)20题左右,上半部分详见leet ...

  4. HDU 排名(简单题)

    好久没在oj上做题了,刚开始第二天做一道简单题的心得记录. 1 #include <cstdio> 2 #include <cstring> 3 #include <st ...

  5. (每日一题)CF1139D Steps to One 2021年天梯赛 L3-3 可怜的简单题(期望,莫比乌斯反演,杜教筛)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 一周连考三门,人都没了 Weblink 2021年天梯赛 L3-3 可怜的简单题 CF1139D Pr ...

  6. 【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题

    Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下: 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取 ...

  7. 小M的简单题(easy)

    小M的简单题(easy) 时间限制:3s 内存限制:128MB [题目描述] 小M是某知名高中的学生,有一天,他请他的n个同学吃苹果,同学们排成一行,且手中已经有一些苹果.为了表示他的大方,有时他会给 ...

  8. Loj 【CQOI 2006】简单题,mmp

    #10117. 「一本通 4.1 练习 2」简单题   题目描述 题目来源:CQOI 2006 有一个 nnn 个元素的数组,每个元素初始均为 000.有 mmm 条指令,要么让其中一段连续序列数字反 ...

  9. 蓝桥杯 算法训练 数字三角形(最简单的DP)

    传送门 题目描述 如下图示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大. ●每一步可沿左斜线向下或右斜线向下走: ●1<三角形行数≤100: ● ...

  10. BZOJ4066: 简单题

    BZOJ4066: 简单题 Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y& ...

最新文章

  1. 启停系统错误_关掉自动启停系统,就可以用普通蓄电池代替启停蓄电池吗?
  2. POJ3268 Silver Cow Party(最短路径)
  3. 神经算法网络基本原理
  4. python大数字计算时没有响应_linux-为什么在尝试计算非常大的数字时Python会“抢先”挂起?...
  5. LAMP介绍,Apache安装细节过程
  6. iOS imageview图片压缩变形
  7. javascript网页自动填表_JavaScript脚本实现网页批量自动勾选及内容填写
  8. java购物车商品排序_Java购物车
  9. ubuntu下mongodb启动脚本
  10. 注意力机制可解释吗?这篇ACL 2019论文说……
  11. Python学习之==接口开发
  12. Android之仿小米便签程序
  13. 【游戏开发进阶】教你在Windows平台编译tolua runtime的各个平台库(Unity | 热更新 | tolua | 交叉编译)
  14. OA流程归档后,没有推送消息通知这样处理
  15. 泊松分布 Poisson Distribution
  16. MATLAB语音端点检测
  17. 【材料计算】分析第一原理的计算结果,包括能带、态密度等
  18. 传奇私服中检查人物穿戴指定装备的两种方法
  19. ServiceComb微服务框架
  20. MySQL备份恢复之mysqldump恢复

热门文章

  1. 摇滚java游戏_java 集合类
  2. n以内的素数c语言,关于求N以内素数的一点小问题(N小于一亿)
  3. 移动计算机怎么开机密码,win7忘记开机密码解决办法
  4. HTML坐标不随着屏幕大小改变,HTML热区map坐标,随窗口大小自适应办法(javascript)...
  5. python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...
  6. oracle计算最大与最小之间数,oracle 分析函数
  7. [MyBatisPlus]Plus分页插件的配置和使用
  8. [SpringBoot2]文件上传_单文件与多文件上传的使用
  9. [PAT乙级]1007 素数对猜想
  10. LeetCode 1122 数组的相对排序-简单-unordered_map容器的应用