首页 > 其他分享 >题解:P11075 不等关系 加强版

题解:P11075 不等关系 加强版

时间:2024-10-01 10:54:51浏览次数:3  
标签:加强版 int 题解 sum long cdots P11075 998244353 Scanner

这是洛谷转移过来的题解,作者是4041nofoundGeoge(我自己,记得关注呀)

题目大意

对于一个字符串 s 1 , s 2 , ⋯   , s n s_1,s_2,\cdots ,s_n s1​,s2​,⋯,sn​,仅包含 <> 两种字符。

设 f ( s ) f(s) f(s) 为「使得 p i < p i + 1 p_i<p_{i+1} pi​<pi+1​ 当且仅当 s i s_i si​ 为 < 的排列 p 1 , p 2 , ⋯   , p n + 1 p_1,p_2,\cdots ,p_{n+1} p1​,p2​,⋯,pn+1​」的数量。

现在请你求出,对于所有 2 n 2^n 2n 种长度为 n n n 的字符串 s s s, f ( s ) f(s) f(s) 之和是多少。

由于答案可能有点大,因此你只需要输出它对 998244353 998244353 998244353 取模的结果。

思路

看起来说的很玄乎,但是仔细分析可以发现重点就在这句话:

设 f ( s ) f(s) f(s) 为「使得 p i < p i + 1 p_i<p_{i+1} pi​<pi+1​ 当且仅当 s i s_i si​ 为 <排列 p 1 , p 2 , ⋯   , p n + 1 p_1,p_2,\cdots ,p_{n+1} p1​,p2​,⋯,pn+1​」的数量。

突破口就在排列两字。通过题面给的运算符共有 n n n 个,对印的字符就有 n + 1 n+1 n+1 个。把 n + 1 n+1 n+1 个字符排列一下,即得到 A n + 1 n + 1 A^{n+1}_{n+1} An+1n+1​,换种写法即 ( n + 1 ) ! (n+1)! (n+1)!。思路清晰,就可以写了。

坑点

千万要记得开 long long 并且还要模 998244353 998244353 998244353!

代码

我献上我丑陋的代码:

//c++版本
#include<iostream>
using namespace std;
long long sum=1;
int main(){
	int n;
	scanf("%d",&n);
	for(int i=1;i<=n+1;++i)sum=sum*i%998244353;
	printf("%d",sum);
	
}

java 代码:

import java.util.Scanner;  
public class Main {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
        int n = scanner.nextInt();  
        long sum = 1;   
        for (int i = 1; i <= n+1; ++i) {  
            sum = (sum * i) % 998244353;
        }  
          
        System.out.println(sum);  
        scanner.close(); 
    }  
}

python 代码:

x=int(input(""))
sum=1
for i in range(1,x+2):
    sum=sum*i%998244353
print(sum)

标签:加强版,int,题解,sum,long,cdots,P11075,998244353,Scanner
From: https://blog.csdn.net/huhuhuhjijijiji/article/details/142668861

相关文章

  • [HNOI2010] 城市建设 题解
    题意给定一个图,每次修改一条边的边权,每次修改后输出该图的最小生成树边权和,询问间不独立。思路在线不好做,考虑离线下来,可以使用线段树分治。我们称在当前区间\(\left[l,r\right]\)的边为动态边,不在的边为静态边。但这样每次遍历到叶子节点的时候静态边的数量都是\(m\)的......
  • 【洛谷】AT_abc079_d [ABC079D] Wall 的题解
    【洛谷】AT_abc079_d[ABC079D]Wall的题解洛谷传送门AT传送门题解不懂就问,为什么ABC很喜欢出板子题。经典的Floydqaq题目给出了一个二维数组和000~......
  • 题解 CF1785D - Range = √Sum
    link\(\texttt{Describe}\)构造有\(n\)个数的序列,满足以下条件:\(\foralli\in[1,n]\)并且\(1\lea_i\le10^9\)。对于任何的\(1\lei,j\len(i\nej)\),\(a_i\nea_j\)。\((\max_{i=1}^{n}a_i-\min_{i=1}^{n}a_i)^2=\sum_{i=1}^{n}a_i\)。......
  • vscode 运行 C++分文件显示 undefined reference to 问题解决
    一、问题无法关联到对应的方法。  二、结局方法1、第一步,查看.vsode文件夹里面的task.json文件;设置里面参数;${file}改成 ${fileDirname}\\*.cpp 2、第二步 2.1、打开coderunner的setting.json文件; 2.2、将 $fileName改成*.cpp 3.3、最后起哄一下vs......
  • 题解:P11062 【MX-X4-T2】「Jason-1」加法
    考虑两种情况:\(a,b\)符号相同:考虑经过操作后\(a,b,\lverta-b\rvert\)会变成什么。:\(a\)\(b\)\(\lverta-b\rvert\)操作1\(a+b\)\(b\)\(\lverta\rvert\)操作2\(a\)\(a+b\)\(\lvertb\rvert\)可以看出只进行零次或一次操作后可以取到最小值......
  • 题解:P11129 【MX-X5-T1】「GFOI Round 1」Inverted World
    题目要求:\((a_l+\cdots+a_r)\div(r-l+1)\)是整数。即\(\frac{(a_l+a_r)\cdot(r-l+1)\div2}{r-l+1}\)为整数。即\(\frac{(a_l+a_r)}{2}\)为整数。即\(a_l+a_r\)为偶数。即\(m+(l-1)\cdotd+m+(r-1)\cdotd\)为偶数。即\(2m+(l+r-2)\cdotd\)为偶......
  • 大单元综合测试(一):第一章,第二章题解
    \(6.\)已知\(3a>b>0\),则\(\large\frac{a}{3a-b}-\frac{b}{a+b}\)的最小值为多少?基本方法\(\qquad\)对于高中基本不等式,这种分母较为复杂的求最值问题,我们一般都会采用将分母换元换元的方法,理由很自然,因为分式是分子除分母,所以分母形式的简单可以方便我们对问题的处理。那么......
  • AtCoder Beginner Contest 365题解
    A-LeapYear按照题意模拟即可。codeB-SecondBest按照题意模拟即可。codeC-TransportationExpenses考虑当\(x\)增大时,\(\min(x,a_i)=x\)的项会越来越少。换言之,当\(x\)足够大时,\(ans=\suma_i\),若此时\(ans>M\)则说明无论补贴多少,这时答案都是一定的......
  • 常见问题解决 --- 如何解决CROS跨域问题
    问题原因:前后端不是一个服务导致的浏览器禁止访问的安全问题。比如前端部署在http://x.x.x.x:8888,后端部署在http://x.x.x.x:9999,由于端口不一致,浏览器安全起见不允许一个web页面有不同ip或端口的地址发送出流量。在开发者工具可以看出CROS错误。解决办法:关闭浏览器安全策......
  • 小澳的葫芦 题解
    网上这么多大佬用01分数规划(完全不会),这里写一篇分层图造福社会。前置芝士:最短路。一个有向无环图,第一个想到的就是拓扑排序。定义\(dp(i)\)为到达第\(i\)个点所需要的经过点数和边权和(一个pair),正常转移即可。然后就发现假了。因为如果能够这样转移,就一定满足:\[\fra......