题目传送门

洛谷题解

思路

我们只需要枚举每一个 \(v_i\),对于 \(i\) 后面的 \(v_j\) 如果 \(v_i > v_j\) 进行以下讨论。

  • \(p_i = p_j\)
  • \(p_i < p_j\)
  • \(p_i > p_j\)

当 \(p_i = p_j\) 的时候。因为不论选哪个方案 \(p_i\) 这个位置都要替换,所以无解,直接输出。

当 \(p_i < p_j\) 的时候。我们可以确定对于 \(i\) 只能选方案一,对于 \(j\) 只能选方案二,这样才能保证两段没有交集。

而当 \(p_i > p_j\) 的时候。我们可以确定对于 \(i\) 只能选方案二,对于 \(j\) 只能选方案一,这样才能保证两段没有交集。

对于每一个 \(i\) 最初都有两种选择,而在讨论的时候,每排除一种情况 \(i\) 与 \(j\) 的方案数都要减一,最后答案就是每一个 \(i\) 的方案数的乘积。


代码

#include<bits/stdc++.h>
using namespace std;
int n,m;
int p[1000000],v[1000000];
int hh[6000][5];
int main()
{
ios::sync_with_stdio(false);
cin.tie(),cout.tie();
cin>>n>>m;
for(int i=1;i<=m;i++)
cin>>p[i]>>v[i];
for(int i=1;i<=m;i++)
hh[i][1]=hh[i][2]=1;
for(int i=1;i<=m;i++)
{
for(int j=i+1;j<=m;j++)
{
if(v[i]>v[j])
{
if(p[j]>p[i])
{
hh[i][2]=0;
hh[j][1]=0;
}
if(p[j]<p[i])
{
hh[i][1]=0;
hh[j][2]=0;
}
if(p[j]==p[i])
{
cout<<0;
return 0;
}
}
}
}
int ans=1;
for(int i=1;i<=m;i++)
{
ans*=(hh[i][1]+hh[i][2]);
ans%=998244353;
}
cout<<ans;
return 0;
}

题解:AT_arc182_a [ARC182A] Chmax Rush!的更多相关文章

  1. Codeforces Round #102 (Div. 2) 题解

    A. 解一个方程. 还是厚颜无耻地暴力吧~ #include <iostream> using namespace std; int r1, r2, c1, c2, d1, d2; boo ...

  2. 【题解】JSOIWC2019 Round 5

    题面: 题解: T1: 算法1: 枚举每个灯塔的方向,并分别判断是否有解.时间复杂度O(K*4^K). 预计得分:50-70分 算法2: 不难发现,当k≥4的时候一定有解,将最靠左的两个下面的朝右上. ...

  3. SDOI 2018二轮题解(除Day2T1)

    博主诈尸啦 虽然一轮之后就退役了但是二轮还是要去划划水呀~ 然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧. 题目思路基本都参考自sha ...

  4. 【第400篇题解纪念2016年10月28日】【28.10%】【codeforces 617E】XOR and Favorite Number

    time limit per test4 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  5. 【NOI 2019】同步赛 / 题解 / 感想

    非常颓写不动题怎么办…… 写下这篇博客警示自己吧…… 游记 7.16 我并不在广二参加 NOI,而是在距离广二体育馆一公里远的包间打同步赛(其实就是给写不动题找个理由) 上午身体不舒服,鸽了半天才看题 ...

  6. Codeforces Round #624 (Div. 3) F. Moving Points 题解

    第一次写博客 ,请多指教! 翻了翻前面的题解发现都是用树状数组来做,这里更新一个 线段树+离散化的做法: 其实这道题是没有必要用线段树的,树状数组就能够解决.但是个人感觉把线段树用熟了会比树状数组更有 ...

  7. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  8. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  9. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  10. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

随机推荐

  1. 深度学习框架theano下的batch_norm实现代码——强化学习框架rllab

    深度学习框架theano下的batch_norm实现代码--强化学习框架rllab # encoding: utf-8 import lasagne.layers as L import lasagn ...

  2. 图床、云对象存储、CDN业务:“自定义 CDN 加速域名” 与 “自定义源站域名” 的区别

    参考: https://developer.qiniu.com/kodo/8622/dev-the-binding-source-domain-name ----------------------- ...

  3. 如何在vscode中支持python的annotation(注解,type checking)——通过设置pylance参数实现python注解的type checking

    pylance是vscode的python官方插件的捆绑体,如何在vscode中安装python插件这里不介绍了.pylance的默认设置是不支持python的annotation的,需要我们手动设置 ...

  4. C# ?. 判斷Null值

    有一句代碼: @Html.DisplayFor(modelItem => item.SellDate, "RegularDate") RegularDate.cshtml 內 ...

  5. python学习(一)django orm多表查询

    ###多表查询 一般的多表查询都是直接建立一个多对多关系 class Books(models.Model): users = models.ManyToManyField(User, related ...

  6. java本地增量打包工具

    在打增量包每次都需要将class文件.jsp文件等拷贝到增量包中比较麻烦.所以就写了一个增量打包工具. 工作原理:根据文件的最后修改时间来打增量. 1.查找Java类增量:根据eclipse工程下的. ...

  7. Element-UI 中使用rules验证 金额 数字

    data中定义验证规则:var checkCount = function (rule, val, callback) { if (!val) { return callback(new Error( ...

  8. 检测 NAT 类型

    使用 pystun3 pystun3 是一个用于获取 NAT 类型和外部 IP 的 Python STUN 客户端 安装: pip install pystun3 使用: pystun3 结果: NA ...

  9. spring boot 若依系统整合Ueditor,部署时候上传图片错误解决

    spring boot 若依系统整合Ueditor,部署时候上传图片错误解决 前言:国庆假期找了个ruoyi版本的cms玩玩,从git上看,介绍如下图: 后台部分截图: 编辑 ​ 编辑 ​ 编辑 ​ ...

  10. Lucas定理入门

    前置结论 如果 \(p\) 为素数,有以下结论: \(a^p \equiv a \pmod p\) 即费马小定理 \[C_{p}^i \equiv \begin{cases} 1 & i=0 ...