当前位置:网站首页>Value sequence (subsequence contribution problem)
Value sequence (subsequence contribution problem)
2022-07-07 07:45:00 【whitewall_ nine】
#include<bits/stdc++.h>
using namespace std;
#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(l);i>=(r);i--)
#define ll long long
#define pii pair<int, int>
#define mset(s,t) memset(s,t,sizeof(t))
#define mcpy(s,t) memcpy(s,t,sizeof(t))
#define fir first
#define pb push_back
#define sec second
#define sortall(x) sort((x).begin(),(x).end())
inline int read () {
int x = 0, f = 0;
char ch = getchar();
while (!isdigit(ch)) f |= (ch=='-'),ch= getchar();
while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
return f?-x:x;
}
template<typename T> void print(T x) {
if (x < 0) putchar('-'), x = -x;
if (x >= 10) print(x/10);
putchar(x % 10 + '0');
}
const int N = 1e6 + 10;
const int mod = 998244353;
int n;
ll a[N];
ll qmi (ll a, ll b, ll c ){
ll ans = 1;
while (b) {
if (b & 1) ans =ans * a %c;
b >>= 1;
a = a * a % mod;
}
return ans;
}
void solve() {
cin >> n;
for (int i = 1; i<= n ;i++) {
cin >> a[i];
}
//sort(a + 1, a + 1 + n);
ll ans = 1;
a[n + 1] = 2e18;
a[0] = 2e18;
for (int i = 1, j = 1; i <= n ; i ++) {
while (j < n && a[j + 1] == a[i]) {
j ++;
}
int len = j - i + 1;
if (((a[i - 1] < a[i] && a[j] < a[j + 1]) || (a[i - 1] > a[i] && a[j] > a[j + 1])) && ( i !=1 && j != n))
ans = (ans * qmi(2, j - i + 1, mod) %mod) %mod;
else {
ans = ((ans * ((qmi(2, j - i + 1, mod) - 1) %mod + mod) %mod) %mod + mod) %mod;
}
j ++;
i = j -1;
}
cout << ans << endl;
}
int main () {
int t;
cin >> t;
while (t --) solve();
return 0;
}
https://ac.nowcoder.com/acm/contest/23481/B The first question is which numbers will not have no impact on the contribution If n <= 2 Then delete any one of them, either unchanged or reduced , Therefore, we can guess that deleting a number in the sequence must not increase For one of the positions , There are four size relationships , It can be found that the contribution will not change after the order of increasing or decreasing is deleted , Otherwise, it must be reduced , So one must be left .
边栏推荐
猜你喜欢
How can a 35 year old programmer build a technological moat?
Common method signatures and meanings of Iterable, collection and list
The metauniverse of the platofarm farm continues to expand, with Dao governance as the core
Robot technology innovation and practice old version outline
nacos
解决问题:Unable to connect to Redis
[SUCTF 2019]Game
Calculus key and difficult points record part integral + trigonometric function integral
Iterable、Collection、List 的常见方法签名以及含义
【webrtc】m98 screen和window采集
随机推荐
【Liunx】进程控制和父子进程
【p2p】本地抓包
今日现货白银操作建议
【obs】win-capture需要winrt
CentOS7下安装PostgreSQL11数据库
Leetcode-206. Reverse Linked List
resource 创建包方式
[P2P] local packet capturing
Bi she - college student part-time platform system based on SSM
leetcode:105. 从前序与中序遍历序列构造二叉树
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
[experience sharing] how to expand the cloud service icon for Visio
numpy中dot函数使用与解析
[Stanford Jiwang cs144 project] lab4: tcpconnection
[2022 ACTF]web题目复现
[SUCTF 2019]Game
The configuration that needs to be modified when switching between high and low versions of MySQL 5-8 (take aicode as an example here)
buuctf misc USB
Mysql高低版本切换需要修改的配置5-8(此处以aicode为例)
07_ Handout on the essence and practical skills of text measurement and geometric transformation