2022.3.18模拟赛总结

2023-11-11 18:08
文章标签 总结 模拟 18 2022.3

本文主要是介绍2022.3.18模拟赛总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

7.36
开题
T1:海底积木赛?
7.42
T1式子推出来了:(sum_{i=1}nC_{n-1}{i-1}a_i);mod k
这个的瓶颈和刚才推断的一样,必然在于求解组合数上,而这个模数不是质数,应该就要用一些奇妙的方法,但先写40分的递推+质数求组合数的暴力分吧
7.49
暴力分写完了,剩下的应该就是非质数组合数了,但这个东西我记得不是Lucas,而是exgcd,海底积木赛由于a_i是会大于k的所以需要用Lucas,而这里已经限制了,应该就不需要了,但!exgcd该怎么写呢!这是个问题。不过可以展开组合数试试,貌似可以质因数分解做
8.49
搞了一下质因数分解的方法,能过到2e4,与此同时发现k质数的情况假了
8.57
加上一点常数优化,用set只维护有用的,时测可过,计划进行10分钟对拍测时,就过题了,应该没有什么特殊数据需要用来测时的,所以对拍后应该就稳了
9.06
对拍发现错误,修改以后测时不过了,麻了,仅能通过4e4
9.37
经过一系列常数优化仅能通过8e4
9.44
无奈弃T1
9.47
T2是个竞赛图吧,竞赛图缩点后是链,那么本题中就是求连通分量个数的期望吧
10.00
简单列了一下计数dp式子,感觉可行,但需要先写个暴力一会儿用来对拍
10.36
写出了T2的60分代码,应该能过?因为我不会背Tarjan所以我不会写暴力!
10.42
穷途末路,换题
10.47
这T3是不是树上莫队啊
10.58
回去把T1的锅修了,那个质数的我只能搞出n<mod的,不然还是出错,加了个分段上去彻底弃掉了,专心T3
11.12
写完T3暴力20,应该无误了
11.38
写了链的两档分,直接套个莫队就行,并进行了对拍无误。树上莫队我是真没办法
11.43
检查每道题目,进行打包
11.47
检查完毕,准备提交,开始摆烂

这篇关于2022.3.18模拟赛总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/391903

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

hdu4431麻将模拟

给13张牌。问增加哪些牌可以胡牌。 胡牌有以下几种情况: 1、一个对子 + 4组 3个相同的牌或者顺子。 2、7个不同的对子。 3、13幺 贪心的思想: 对于某张牌>=3个,先减去3个相同,再组合顺子。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOExcepti

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点