题目传送门

洛谷题解

思路

我们只需要枚举每一个 \(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. 国内的开源AI模型共享网站(AI模型的GitHub)—— mindscope —— 使用git lfs方式下载模型文件

    参考前文: 国内的开源AI模型共享网站(AI模型的GitHub)-- mindscope -- 对标外网的"huggingface",mindscope好用吗? 使用git lfs ...

  2. Ubuntu18.04下 修改conda环境和缓存默认路径

    查看conda 的默认环境和缓存默认路径:conda info  conda环境和缓存的默认路径(envs directories 和 package cache) envs directories  ...

  3. 报错 qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found

    参考: https://blog.csdn.net/qq_39938666/article/details/120452028 ==================================== ...

  4. vue&element项目实战

    1.背景 百度脑图链接:http://naotu.baidu.com/file/26ee2d8db38ad67e9905ae065bb0445e?token=e538157034f38f0d 1.1. ...

  5. 手写一个AQS实现

    1.背景 1.AQS简介AQS全称为AbstractQueuedSynchronizer(抽象队列同步器).AQS是一个用来构建锁和其他同步组件的基础框架,使用AQS可以简单且高效地构造出应用广泛的同 ...

  6. Java Web中的request,response,重定位与转发的详解

    request与response响应 Web服务器接收到客户端的http请求,其会对每一次的http请求分别创建应该代表请求的request对象,和一个代表响应的response对象. request ...

  7. C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)

    前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...

  8. stm32学习之调试篇踩坑记录

    如何下载fml文件 找不到64k的fml文件 could not stop cortex-m device:无法连接,我当时是在程序中的一些初始化函数中,有几条语句禁用了(JTAG+SW) 接线顺序, ...

  9. Visual Studio Code 重置“不再询问”选项

    有一次使用 VS Code 重命名一个 Python 文件时,VS Code 询问"扩展'Python'希望通过移动此文件来进行重构更改".当时没有多想,选中"不再提问& ...

  10. 【Python自动化】之特殊的自动化定位操作

    今天有时间了,想好好的把之前遇到过的自动化问题总结一下,以后有新的总结再更新 目录: 一.上传文件(4.11) 二.下拉框选择(4.11) 1.Select下拉框 2.非Select下拉框 三.下拉框 ...