首页 > 其他分享 >2023牛客国庆集训派对day1

2023牛客国庆集训派对day1

时间:2023-09-29 16:34:37浏览次数:42  
标签:frac int align uv day1 牛客 dx 2023 ll

2023牛客国庆集训派对day1

F. Infinite String Comparision

解题思路:

\(n = a.size,m = b.size\)

短的字符串不断延长,直到覆盖两倍的长串。然后按两倍长串的长度一一比较即可。

代码:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
typedef pair<int,int> pii;
#define fi first
#define se second
void solve()
{
	string a,b;
	while(cin>>a>>b)
	{
		string l,r;
		l = a;
		r = b;
		int n = a.size();
		int m = b.size();
		if(n < m)
		{
			int cnt = (m + n - 1) / n + 1;
			for(int i = 1;i<=cnt;i++)
			{
				a += l;
			}
			b += r;
		}
		else if(n > m)
		{
			int cnt = (n + m - 1) / m + 1;
			for(int i = 1;i<=cnt;i++)
			{
				b += r;
			}
			a += l;
		}
		n = a.size();;
		m = b.size();
		n = min(n,m);
		string ans;
		for(int i = 0;i<n;i++)
		{
			if(a[i] != b[i])
			{
				if(a[i] < b[i])
				{
					ans += '<';
				}
				else
				{
					ans += '>';	
				}
				break;
			}
		}
		if(ans.empty())
		{
			puts("=");
		}
		else
		{
			cout<<ans<<endl;
		}
	}
}

int main()
{
	int t = 1;
	while(t--)
	{
		solve();
	}
	return 0;
}

J. Easy Integration

解题思路:

分部积分法:

\(u(x) = u,v(x) = v\),二者都是关于\(x\)的函数,以下是对\(x\)求导。

\[\begin{align*} \tag{1} (uv)' = u'v + v'u\\ \end{align*} \]

积分是求导的逆运算:

\[\begin{align*} \int(uv)' = uv\\ \end{align*} \]

对公式\((1)\)两边同时积分:

\[\begin{align*} \int(uv)'dx = \int (u'v)dx + \int (v'u)dx \\ uv = \int (u'v)dx+ \int (v'u)dx \\ \int (v'u)dx = uv - \int(u'v)dx \end{align*} \]

公式推导:

\[\begin{align*} \int_0^1(x - x^2)^ndx &= \int_0^1 x^n(1 - x)^ndx \\ &= \frac 1 {n + 1}\int_0^1 (1 - x)^nd(x^{n + 1})\\ &= \left. \frac 1 {n + 1}x^{n + 1}(1-x)^n \right|_0^1 - \frac{1}{n + 1}\int_0^1x^{n + 1}d(1-x)^n\\ &=0 + \frac{n}{n+1}\int_0^1x^{n +1}(1-x)^{n-1}dx \\ &=\frac{n}{n+1}\int_0^1x^{n +1}(1-x)^{n-1}dx \end{align*} \]

\[\begin{align*} \int_0^1 x^n(1 - x)^ndx &= \frac{n}{n+1}\int_0^1x^{n +1}(1-x)^{n-1}dx \\ &=......\\ &=\frac{n!}{(n+1)...(2n + 1)}\int_0^1x^{2n + 1}(1-x)^0dx\\ &=\frac{n!}{(n+1)...(2n + 1)} \end{align*} \]

\[ans = \frac{n!}{(n+1)...(2n + 1)} \mod 998244353 \]

\(p和q\)都有了,接下来就是经典费马小定理求逆元了。

代码:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
typedef pair<int,int> pii;
#define fi first
#define se second
const int N = 2e6 + 10;
const int mod = 998244353;

ll qmi(ll a,ll b)
{
	ll res = 1;
	while(b)
	{
		if(b & 1)
		{
			res = (res * a) % mod;
		}
		a = (a * a) % mod;
		b >>= 1;
	}
	return res;
}

void solve()
{
	vector<ll> f(N);
	f[0] = 1;
	for(int i = 1;i<=2e6;i++)
	{
		f[i] = (f[i-1] * i) % mod;
	} 
	ll n;
	while(~scanf("%lld",&n))
	{
		ll p = f[n];
		ll q = (f[2 * n + 1] * qmi(f[n],mod-2)) % mod;
		ll ans = (p * qmi(q,mod-2)) % mod;
		printf("%lld\n",ans);
	}
}

int main()
{
	int t = 1;
	while(t--)
	{
		solve();
	}
	return 0;
}

标签:frac,int,align,uv,day1,牛客,dx,2023,ll
From: https://www.cnblogs.com/value0/p/17737079.html

相关文章

  • 2023-2024-1 20231416《计算机基础与程序设计》第一周学习总结
    第一次接触电脑就是安装虚拟机有一种拔剑四顾心茫然的无措之感但好在网上的虚拟机安装基础和同学们的帮助无疑是我的救命稻草virtualbxVMwareBIOS这都是我前所未闻的这一次作业我学到了很多还希望以后能更进一步1.在20世纪80年代末 并行体系结构出现 所有处理器共享同......
  • python_day1
    Python0基础操作0.0快捷键ctrl+d复制当前行代码shift+alt+上\下将当前行代码上移或下移ctrl+f搜索0.1字面量0.1.0注释#开头(单行注释)(一般用于对单行代码进行注释)'''多行注释(一般用于对程序文件进行解释)'''0.1.1变量变量值可以记录数据,重复使用0.1.......
  • 2023-09-29 闲话
    今天早上八点多去吃饭,在食堂里面戴着耳机,手指按照《一笑江湖》的bgm节奏律动。好几分钟,歌播了一遍。前奏第二次响起的时候,我起身,端着碗跑路了。出了门觉得这歌太好听了,非常适合所谓的“打歌”,不过我不会音游里面各种灵巧的手法,只能乱敲乱划,然后骑了一辆车子,一只手抓把,另一只......
  • 2023 CSP-S 备战
    2023CSP-S备战日常犯智9.29Dinic中,如果rest为\(0\),直接终止循环。intdinic(intu,intflow){ if(u==T)returnflow; intrest=flow; for(inti=now[u];i&&rest;i=edge[i].nxt){//rest now[u]=i; intv=edge[i].v,c=edge[i].c; ......
  • 2023.09.28
    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 示例1:输入:s="()"输出:true示例 2:输入:s="()[]{}"输出:t......
  • 2023.09.26 动手动脑
    Java的类在构造时会提供一个无参的构造方法,如果已存在用户已经自定义的构造方法,则原有的无参构造方法将无法调用,只能调用自己定义的构造方法。静态初始化的执行顺序:classRoot{static{System.out.println("Root的静态初始化块");}{Sys......
  • 2023.9.28
    今天是在做一道buuctf上的题目,但是过程中遇到了一些困难,写这篇随笔的时候还没能解决,打算明天继续去问学长对了,昨天想试的一些东西试玩了,主要是关于一些调试和libc获取方面的东西在家里学习感觉还是和在学校不一样,感觉在家里学习学着学着就会想躺床上去,在学校嫌爬上爬下的麻烦就......
  • 2023.9.27测试
    \[\text{省流:1.5h狂砍8分}\]T1[ABC311F]YetAnotherGridTaskwhat??发现一个点染了黑色后它下面会将一个三角形染成黑色,画个图发现按列考虑比较好设\(f_{i,j}\)表示第\(i\)列最高的黑色格子为第\(j\)行的,\(j=n+1\)表示这一列全是白色。那么有转移\[f_{i,j}=\sum_{k=j......
  • CSP-J/S 2023 游记
    \(9.16\)初赛。\(9:00\)就到了振万教学楼,休息了一下,准备去\(5\)楼考场。\(9:05\)到了考场门口,发现教室里面已经开了空调,但xxs们都不进去,6。于是我第一个进了考场。\(9:30\)总算看到试题卷了,好像除了第\(4,10\)题都很简单。\(10:20\)做完了卷子,开始检查。\(11:30\)......
  • 2023icpc第二场网络赛c
    做法2-sat赛时想到了2sat+前缀和优化,但是对于每个点都要覆盖到脑袋抽了没想出来怎么建边对于一个点如果他没被选择那么他的前一个点和后一个点是必选的,然后就是一道非常裸的2sat+前缀和优化 P6378[PA2010]Riddle(模板题)1这个点是必选的,n这个点是必定不选的#includ......