首页 > 其他分享 >8.19 模拟赛小结

8.19 模拟赛小结

时间:2023-08-19 16:22:44浏览次数:46  
标签:node int ll cin leq 8.19 左下角 小结 模拟

前言

结束了 也许这几天很苦 但也是最有意义的几天 这篇写简单一点吧

T1 颠倒黑白

image
很强的构造题
根据打表找出思路
因为最左下角的是一定要点的 就考虑它

  • 如果是先手 左下角有黑色 就把它点了 后手只能帮我们把其它黑色点了 最后还是我们先点完
  • 若是后手 左下角是白色 与先手同理

一个简单判断即可

#include<bits/stdc++.h>
using namespace std;
int g,n,m,c;
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin>>g;
	while(g--)
	{
		cin>>n>>m;
		for(int i=1;i<=n-1;i++)
			for(int j=1;j<=m;j++)
				cin>>c;
		cin>>c;
		if(c) cout<<"T\n";
		else cout<<"F\n";
		for(int j=2;j<=m;j++)
			cin>>c;
	}
	return 0;
}

T2 糖果数 原题

题意:给定一个 \(n\space (n\leq 10^{18})\) 求在 \(n\) 位数以内有多少个包含 \(111\) 的数
推荐我的博客:矩阵快速幂
这题就是原题换了一下 不想说了 容斥一下转为求没有 \(111\) 的数即可

Code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll mod=998244353;
ll n;
struct node{
	ll r[4][4];
	int n,m;
}ans,a;
node clear(int n,int m)
{
	node c;
	c.n=n,c.m=m;
	memset(c.r,0,sizeof(c.r));
	return c;
}
node operator *(node a,node b)
{
	node c=clear(a.n,b.m);
	for(int i=1;i<=a.n;i++)
		for(int k=1;k<=a.m;k++)
			for(int j=1;j<=b.m;j++)
				c.r[i][j]=(c.r[i][j]+a.r[i][k]*b.r[k][j])%mod;
	return c;
}
ll Qpow(ll a,ll x)
{
	ll sum=1;
	while(x)
	{
		if(x&1) sum=sum*a%mod;
		a=a*a%mod;
		x/=2;
	}
	return sum;
}
node Qpow(node a,ll x)
{
	node sum=clear(a.m,a.m);
	for(int i=1;i<=a.m;i++)
		sum.r[i][i]=1;
	while(x)
	{
		if(x&1) sum=sum*a;
		a=a*a;
		x/=2;
	}
	return sum;
}
int main()
{
	scanf("%lld",&n);
	ans.n=1,ans.m=3;
	ans.r[1][1]=9,ans.r[1][2]=1,ans.r[1][3]=0;
	a.n=a.m=3;
	a.r[1][1]=9,a.r[1][2]=1,a.r[1][3]=0;
	a.r[2][1]=9,a.r[2][2]=0,a.r[2][3]=1;
	a.r[3][1]=9,a.r[3][2]=0,a.r[3][3]=0;	
	ans=ans*Qpow(a,n-1);
	printf("%lld",(Qpow(10,n)-(ans.r[1][1]+ans.r[1][2]+ans.r[1][3])%mod+mod)%mod);
	return 0;
}

T3 天使玩偶 原题

题意:会动态加点 每次询问一个点离另一个点最小的曼哈顿距离
有很多情况 考虑 \(b_x\leq a_x\space b_y\leq a_y\) 的情况 即 \(b\) 在 \(a\) 左下角
那么问题转化为 求
\(a_{tim}\leq b_{tim},{a_x\leq b_x,a_y\leq b_y}\)

标签:node,int,ll,cin,leq,8.19,左下角,小结,模拟
From: https://www.cnblogs.com/g1ove/p/17642617.html

相关文章

  • 【考后总结】8 月 CSP-S 模拟赛 7
    8.19CSP模拟25给我一首歌的时间-周杰伦雨淋湿了天空毁得很讲究你说你不懂为何在这时牵手我晒干了沉默悔得很冲动就算这是做错也只是怕错过在一起叫梦分开了叫痛是不是说没有做完的梦最痛迷路的后果我能承受这最后的出口在爱过了才有能不能给我一首歌的时......
  • 2023.8.19JD笔试题目
    第二题题目大意是给一个长度20的01字符串,1表示得了该种病0未得。给出m种药每种药喝完可以治疗一些症状也可以诱发一些新症状,由两个长度为20的01字符串表示。然后给出用药顺序,求用完所有药后还有多少种症状。分析:*每次吃药等同于位运算,额外获得的新症状用a|b求,治疗的症状用a&(^b......
  • 模拟应用网关下游系统的一些场景测试接口
    场景:构造一个返回请求参数(表单入参),请求header,设置响应header的测试demo接口框架:springboot@ResponseBody@RequestMapping("/test/api/v1")publicMapserverPostTestv1(HttpServletRequesthttpRequest,HttpServletResponsehttpResponse,@RequestHeaderMultiValueMap<Str......
  • FBM山体模拟生成
    FBM山体模拟生成引言当我们沐浴在自然山脉的美景中,岩石峰峦和蜿蜒山谷的形态总能唤起人们的惊叹。然而,要在计算机图形中精确地还原这些复杂的地形却是一项挑战。在计算机图形学和游戏开发领域,分数布朗运动(FBM)被用来模拟自然地貌,为生成逼真的山地景观提供了一种强大方法。FBM利用分......
  • vector类的模拟实现
    一、vector的介绍vector的文档介绍1、vector是表示可变大小数组的序列容器。2、就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。3、本......
  • 2023.8.18A组模拟赛总结
    T1幂矩阵这题十分巧合。题目大意是有这样一个矩阵求该矩阵的逆矩阵中每项元素的平方和,手模几个点,会发现以下结论\[(P_n)^{-1}(i,j)=\begin{cases}i^m\binomij\quadi\geqj\\0\quadi<j\end{cases}\]不难发现我们的答案即是\[\sum_{i=1}^ni^{2m}\sum_{j=1}^i\bin......
  • CSP模拟24
    yspm专场2。原神派蒙、药水泡面、医生拍门、浴室泡沫A.原神派蒙思路结论:如果序列原先就合法,答案为\(0\);否则,最多使用两个寄存器。我们对\(i\rightarrowa_i\)建边得到若干个环,我们单独考虑一个环如何操作。对于一个长度为\(4\)的数列,再包含两个寄存器,设两个寄......
  • 8.18 模拟赛小结
    前言不平衡的一集T1动态数点题意很清楚我们先思考怎么暴力搞如果一个数是\(k\)那么它一定是这个区间的最大公约数可以直接搞个ST表加二分每次枚举左端点由于gcd和二分都有\(\log\)总时间复杂度\(O(n\log^2n)\)然后就挂了30pts(((考虑优化成\(O(n\log......
  • DS 小结
    DS小结LuoguP5046[Ynoi2019模拟赛]YunolovessqrttechnologyI对于全局询问容易使用归并排序求解答案,因此考虑分块将这个复杂度进行优化。将区间的贡献拆为散块对散块,散块对整块,整块对整块,分别处理计算。精细实现做到\(\mathcalO(n\sqrtn)\)。注意常数优化。Lu......
  • 振弦采集仪模拟信号转数字信号的工作原理
    三河凡科科技学习飞讯振弦采集仪模拟信号转数字信号的工作原理振弦采集仪是一种非常重要的测试仪器,其主要作用是将物理系统中的震动信号转换成数字信号,并且进行进一步的信号处理和分析。本文将详细介绍振弦采集仪模拟信号转数字信号的工作原理。 1.模拟信号采集振弦采集仪......