当前位置:网站首页>[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 hask
individual , 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;
}
边栏推荐
- GET/POST/PUT/PATCH/DELETE含义
- Database addition, deletion, modification and query
- [MySQL learning notes 29] trigger
- 1015 reversible primes (20 points) prime d-ary
- Significance and measures of encryption protection for intelligent terminal equipment
- http缓存,强制缓存,协商缓存
- Iterator Foundation
- If Jerry needs to send a large package, he needs to modify the MTU on the mobile terminal [article]
- Luogu p4127 [ahoi2009] similar distribution problem solution
- How MySQL merges data
猜你喜欢
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
In the era of digital economy, how to ensure security?
烧录场景下的源代码防泄密方案分享
Compliance and efficiency, accelerate the digital transformation of pharmaceutical enterprises, and create a new document resource center for pharmaceutical enterprises
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
Jerry's ad series MIDI function description [chapter]
Google可能在春节后回归中国市场。
Related operations of Excel
Opencv learning notes 8 -- answer sheet recognition
[非线性控制理论]9_非线性控制理论串讲
随机推荐
word中把帶有某個符號的行全部選中,更改為標題
Comparison of usage scenarios and implementations of extensions, equal, and like in TS type Gymnastics
【mysql学习笔记30】锁(非教程)
Jerry needs to modify the profile definition of GATT [chapter]
Basics of reptile - Scratch reptile
Solution: intelligent site intelligent inspection scheme video monitoring system
How to prevent Association in cross-border e-commerce multi account operations?
Typescript interface and the use of generics
TypeScript void 基础类型
Sharing of source code anti disclosure scheme under burning scenario
Scala language learning-08-abstract classes
Linked list interview questions (Graphic explanation)
The way to learn go (I) the basic introduction of go to the first HelloWorld
数字经济时代,如何保障安全?
Iterator Foundation
MEX有关的学习
Relevant introduction of clip image
Description of octomap averagenodecolor function
Force buckle day31
智能终端设备加密防护的意义和措施