[XXI Open Cup,Grand Prix of Tokyo]Ascending Matrix
Ascending Matrix
题解
首先,这道题是要求所有的数列是从上往下,从左往右,都是递增的。
首先从左往右递增,我们可以去考虑它的差分序列,每个点的值就是它前面差分序列的点数嘛。
从上往下递增,我们可以去考虑它差分序列的移动。
我们可以去考虑决定前面 ⩽ x \leqslant x ⩽x,后面 > x >x >x的这个差分点。可以发现,从上往下,这个差分点是单调不左移的,它只会不断右移,并且不会超过下一个差分点。
那我们可以将原序列看成一个网格图,序列上每个数的位置就相当于网格图上的一个方格,每个差分点就是网格图上的一条竖着的边。将竖着的边连在一起,也就构成了网格图上的一条路径。
可以发现,这些路径都是互不跨越的,因为上一个差分点不会超过下一个差分点。
如果我们把左上的顶点看成 ( 1 , 1 ) (1,1) (1,1),右下的顶点看成 ( n + 1 , m + 1 ) (n+1,m+1) (n+1,m+1),那么所有的路径都是从 ( n + 1 , 1 ) (n+1,1) (n+1,1)到 ( 1 , m + 1 ) (1,m+1) (1,m+1)的。
但如果只是互不跨越的路径的话不好计数呀,我们可以手动将每条路径平移一下,将第 i i i条路径的起点平移到 ( n + i + 1 , i + 1 ) (n+i+1,i+1) (n+i+1,i+1),终点平移到 ( i + 1 , m + i + 1 ) (i+1,m+i+1) (i+1,m+i+1)。
这样的话,原来互不跨越的条件就被转移成了互不相交,显然,我们这个网格图是有向无环图,这不可以 L G V \rm LGV LGV引理?
但我们确定 ( r , c ) (r,c) (r,c)上的数为 V V V的条件是怎么处理的呢?
我们看看这个条件在网格图上说明了什么,显然,这个格点前面得有恰好 V − 1 V-1 V−1条路径。
这也就是说明,原图中要有 V − 1 V-1 V−1条路径与直线 x − y + c − r = 0 x-y+c-r=0 x−y+c−r=0的交点必须在 ( r + 1 , c + 1 ) (r+1,c+1) (r+1,c+1)的严格左上方,有
[XXI Open Cup,Grand Prix of Tokyo]Ascending Matrix相关推荐
- XXI Open Cup. Grand Prix of Korea I. Query On A Tree 17 树剖 + 二分 + 树带权重心
传送门 文章目录 题意: 思路: 题意: 给你一棵树,每棵树初始权值都为000,现在给你两个操作: (1)(1)(1)将uuu的子树权值全部加111. (2)(2)(2)将(u,v)(u,v)(u,v ...
- 2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest (XXI Open Cup, Grand Prix of Belarus)
题目链接 C. Brave Seekers of Unicorns 给出一个好数组的定义: 1.1.1. 长度不为空 2.2.2. a[i]⨁a[i−1]⨁a[i−2]≠0a[i] \bigoplus ...
- [XXI Open Cup.Grand Prix of Korea]Advertisement Matching
Advertisement Matching 题解 首先,题目的 a , b a,b a,b匹配显然是一个很常见的贪心. 有结论,设 a a a的集合为 A A A,如果 ∀ S ⊆ A , ∑ a ...
- 2020-2021 ACM-ICPC, Asia Nanjing Regional Contest (XXI Open Cup, Grand Prix of Nanjing)
M. Monster Hunter 树形背包dp dp[i][j][k] 表示结点i的子树中有j个节点存活且当前节点i的状态为(0/1) 转移方程: dp[x][i+j][0]=min(dp[x][i ...
- 2015-2016 XVI Open Cup, Grand Prix of Bashkortostan, SKB Kontur Cup Stage 2
地址 Rank Solved A B C D E F G H I J K L M 72/213 8/13 O . O O . O . O O O . O Ø O: 当场通过 Ø: 赛后通过 .: 尚未 ...
- [XXII Open Cup, Grand Prix of Korea M]Yet Another Range Query Problem
Yet Another Range Query Problem 题解 首先,看到这道题,我们应该是比较容易联想到扫描线加线段树的. 我们考虑维护每个点作为左端点到当前扫到的这个点作为右端点之间区间的信 ...
- G-Lexicographically Minimum Walk[CF-Gym-102391][2019-2020 XX Open Cup, Grand Prix of Korea]
原题传送门 题面 Lexicographically Minimum Walk time limit per test2 secondsmemory limit per test1024 megaby ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb
A. Base $i - 1$ Notation 两个性质: $2=1100$ $122=0$ 利用这两条性质实现高精度加法即可. 时间复杂度$O(n)$. #include<stdio.h&g ...
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Korea
A. Donut 扫描线+线段树. #include<cstdio> #include<algorithm> using namespace std; typedef long ...
最新文章
- 常用的数据结构-散列表
- C语言 string.h 中函数的实现
- unity3d : Failed to query D3D11 context for ID3DUserDefinedAnnotation interface (hr = 0x80004002)
- 微信小程序开发之scroll-view上拉加载数据实现
- iOS开发日记4-第三方登录(ShareSDK)
- 摸透 Redis 主从复制、哨兵、Cluster 三种模式
- 为什么人生气时说话用喊的
- MFC中 给按钮添加图片的方法
- drools规则引擎技术指南_物联网规则引擎技术
- python-去重的三种方式-成员判断-索引判断-集合
- IEEE 第二届大数据、人工智能与物联网工程国际会议 (IEEE-ICBAIE 2021)
- C++设计模式解析之单例模式解析
- android大智慧安装目录,大智慧文件目录
- [音频处理]傅里叶变换去噪
- 一些常见html5语义化标签
- 计算机无法登陆提示rpc服务器不可用,电脑提示RPC服务器不可用的解决方法
- android 放大镜功能,Android放大镜效果实现
- DTAS 尺寸工程分析-尺寸公差分析软件尺寸链计算
- 个人管理:放松离合与换档时刻
- IxEngine开发笔记
热门文章
- Android隐藏底部导航栏三大金刚按钮
- koa--批量上传图片
- Unity/Auto Layout -- 理解Layout Elements(布局元素)
- 猫咪也会长黑头?猫咪黑下巴怎么办?
- 禁止粘贴的解决方法,容易操作
- python语言应用章节答案_Python语言应用智慧树章节答案
- move std 函数 示例_C++11右值引用和std::move语句实例解析(推荐)
- 谷歌浏览器历史版本网站
- awd的批量脚本 pwn_北极星杯AWD-Writeup
- Spark中的Structured Streaming