当前位置:网站首页>[count] [combined number] value series
[count] [combined number] value series
2022-07-06 07:39:00 【Code chess】
Topic link :
https://ac.nowcoder.com/acm/contest/23481/B
Don't calculate the sequence a The value of , Because it is difficult to do it from this aspect .
Which values should be taken from the sequence to make the sequence a The value remains unchanged .
For three numbers to discuss :
- a i < a j < a k a_i < a_j <a_k ai<aj<ak or a i > a j > a k a_i >a_j>a_k ai>aj>ak when
Delete the number in the middle , The value of the sequence will not change . If the same number in the middle haskindividual , The number of cases is 2 k 2^k 2k - a i < a j > a k a_i < a_j >a_k ai<aj>ak or a i > a j < a k a_i >a_j<a_k ai>aj<ak when
Delete the middle value , The value of the sequence will change , So you can't delete . But if there are multiple equal values in the middle , Leave at least one value . If the number of equal numbers isk, Then the number of cases is 2 k − 1 2^k-1 2k−1( Remove the empty condition )
Next , Is to discuss the same number in the middle
Treat equal numbers as a connected block , Set to [ i , j ] [i,j] [i,j]
- If meet a i − 1 < a i = . . . = a j < a j + 1 a_{i-1}<a_i=...=a_j<a_{j+1} ai−1<ai=...=aj<aj+1 or a i − 1 > a i = . . . = a j > a j + 1 a_{i-1}>a_i=...=a_j>a_{j+1} ai−1>ai=...=aj>aj+1( And to satisfy i > 1 , j < n i>1,j<n i>1,j<n), Then interval [ i , j ] [i,j] [i,j] The number of can be deleted completely , Does not affect the value , Such a range contributes a lot to the answer 2 j − i + 1 2^{j-i+1} 2j−i+1 Kind of plan .
- Otherwise, the interval [ i , j ] [i,j] [i,j] The number of must keep one , Such a range contributes to the answer 2 j − i + 1 − 1 2^{j-i+1}-1 2j−i+1−1 Kind of plan . The answer is to multiply the contributions of all intervals .
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 5, mod = 998244353;
vector<ll> fac(N);
void solve()
{
int n;
cin >> n;
vector<int> a(n);
for(auto &i : a) cin >> i;
ll res = 1;
for(int i = 0, j = 0; i < n; i++)
{
j = i;
while(j < n - 1 && a[j + 1] == a[i]) j++;
if(i - 1 >= 0 and j + 1 < n and (a[i - 1] < a[i] && a[i] < a[j + 1] || a[i - 1] > a[i] && a[i] > a[j + 1]))
res = res * fac[j - i + 1] % mod;
else res = res * (fac[j - i + 1] - 1) % mod;
i = j;
}
cout << res << "\n";
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
fac[0] = 1;
for(int i = 1; i < N; i++)
fac[i] = fac[i - 1] * 2 % mod;
int t;
cin >> t;
// t = 1;
while(t--) solve();
return 0;
}
边栏推荐
- Cf1036c class numbers solution
- Three treasures of leeks and Chinese men's football team
- 861. Score after flipping the matrix
- 学go之路(一)go的基本介绍到第一个helloworld
- 洛谷P4127 [AHOI2009]同类分布 题解
- [cf gym101196-i] waif until dark network maximum flow
- TS 类型体操 之 循环中的键值判断,as 关键字使用
- Ble of Jerry [chapter]
- [MySQL learning notes 30] lock (non tutorial)
- C # display the list control, select the file to obtain the file path and filter the file extension, and RichTextBox displays the data
猜你喜欢

Solution: intelligent site intelligent inspection scheme video monitoring system

Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume

Related operations of Excel

opencv学习笔记九--背景建模+光流估计
![[window] when the Microsoft Store is deleted locally, how to reinstall it in three steps](/img/57/ee979a7db983ad56f0df7345dbc91f.jpg)
[window] when the Microsoft Store is deleted locally, how to reinstall it in three steps

解决方案:智慧工地智能巡檢方案視頻監控系統

NiO programming introduction

数字经济时代,如何保障安全?

Significance and measures of encryption protection for intelligent terminal equipment
![If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]](/img/d6/92ad1c6f84415de6ab0dfd16cd6073.png)
If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]
随机推荐
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
【mysql学习笔记29】触发器
Set picture annotation in markdown
onie支持pice硬盘
TypeScript 函数定义
Scala语言学习-08-抽象类
实现精细化生产, MES、APS、ERP必不可少
[MySQL learning notes 32] mvcc
C # create database connection object SQLite database
Le chemin du navigateur Edge obtient
The way to learn go (I) the basic introduction of go to the first HelloWorld
TypeScript void 基础类型
成为优秀的TS体操高手 之 TS 类型体操前置知识储备
Luogu p1836 number page solution
P3047 [USACO12FEB]Nearby Cows G(树形dp)
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
[dictionary tree] [trie] p3879 [tjoi2010] reading comprehension
861. Score after flipping the matrix
TypeScript 可索引类型
MES, APS and ERP are essential to realize fine production
