首页 > 其他分享 >2024年6月杂题乱写

2024年6月杂题乱写

时间:2024-06-16 12:11:12浏览次数:12  
标签:ch 乱写 cdot sum 2024 int 集合 直接 杂题

6.5

P3214 [HNOI2011] 卡农

设 \(f_i\) 表示选了 \(m\) 个集合的答案,简单观察发现,只要确定了 \(m-1\) 个集合,最后一个集合就是确定的,不是偶数次数的出现,偶数次数的不出现,选 \(m\) 个集合有 \(C_{2^n-1}^{m-1}\) 种方案,考虑下面两种不合法的情况。

  • 这 \(m-1\) 个集合已经合法,最后一个集合为空集。
  • 最后要选的集合在前面 \(m-1\) 个集合出现过。

答案就是总数减去这两种情况,第一种情况显然为 \(f_{i-1}\),第二种情况其实就是有 \(i-2\) 个集合已经合法了,数量为 \(f_{i-2}\),但是因为最后的一个集合(相同的两个)不确定,所以第二种情况实际上有 \(f_{i-2}\cdot[2^{n}-1-(i-2)]\),直接减去就可以,这时因为我们每一种都算了 \(m\) 遍,所以答案要除以 \(m\)。

\[f_i=\frac{C_{2^n-1}^{i-1}-f_{i-1}-f_{i-2}\cdot (2^n-i+1)}{m} \]

直接递推即可。

点击查看代码
#include<bits/stdc++.h>
#define int long long
inline int read(){
	char ch=getchar();int x=0,f=1;
	for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
	for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<3)+(x<<1)+(ch^48);
	return x*f;
}
const int N=1e6+10,mod=1e8+7;
inline int mo(int x){return x<0?(x%mod+mod)%mod:(x>=mod?x%mod:x);}
inline int qpow(int a,int b){
	int res=1;
	for(;b;b>>=1,a=mo(a*a))if(b&1)res=mo(res*a);
	return res;
}
int n,m,sum,inv[N],C,f[N];
signed main(){
	// freopen("in.in","r",stdin),freopen("out.out","w",stdout);
	std::ios::sync_with_stdio(false);std::cin.tie(0),std::cout.tie(0);
	n=read(),m=read();sum=mo(qpow(2,n)-1);
	if(m>sum){std::cout<<0<<'\n';exit(0);}
	inv[1]=1,f[1]=f[2]=0;f[0]=1;
	for(int i=2;i<=m;++i)inv[i]=mo((mod-mod/i)*inv[mod%i]);
	C=mo(mo(sum*(sum-1))*inv[2]);
	for(int i=3;i<=m;++i){
		f[i]=mo(mo((C-f[i-1]-mo(f[i-2]*mo(sum-i+2))))*inv[i]);
		C=mo(mo(C*(sum-i+1))*inv[i]);
	}
	std::cout<<f[m]<<'\n';
}

6.9

困困困,头疼疼疼疼疼,给大家来场 ABC 速通。

  • A 直接扫
  • B 直接扫
  • C 递归周围,然后中间填白色
  • D 设 \(len\) 为数字 \(n\) 十进制下的长度,\(V_n=n\cdot\sum_{i=0}^{n-1} 10^{i\cdot len}\),后面直接等比数列求和 \(ans=n\cdot\frac{10^{n\cdot len}-1}{10^{len}-1}\)。
  • E 就是求有向图每个点能到达的点(包括自己)的和,反向建边后直接缩点拓扑排序跑 DP 即可。
  • F 一眼线段树,赛时傻逼没推下式子锅了,\((a+x)\cdot (b+y)=ab+xb+ya+xy\),记两个 tag 即可。
  • G 高级东西,不会。

6.15 ABC358 速通

D 直接二分找,然后删。
E 就是求多重集排列数,直接设 \(f_{i,j}\) 表示考虑前 \(i\) 个字母,长度为 \(j\) 时的方案数,枚举新加入多少个元素,有 \(f_{i,j}=\sum_{k=\max(0,j-c_i)}^{j}f_{i-1,j}\cdot C_j^k\),最后 \(ans=\sum_{i=1}^{n}f_{26,i}\)
F 随便找,然后比较傻逼,没意思。
G 直接设状态 \(f_{t,i,j}\) 表示 \(t\) 时刻在 \((i,j)\) 的最大价值,转移就直接从 \(5\) 个位置转移,发现 \(k\) 很大,但是当 \(k\ge nm\) 时就没啥意义了,因为此时的最优解一定不会再从其他点转移了,所以考虑 \(k\le nm\) 时的答案,最后加上剩下的次数乘上价值找最大就行。

标签:ch,乱写,cdot,sum,2024,int,集合,直接,杂题
From: https://www.cnblogs.com/Ishar-zdl/p/18233914

相关文章

  • 徐辰武2024综述:作物全基因组选择育种技术研究进展
    近日,《生物技术通报》特邀扬州大学农学院徐辰武教授团队发表综述《作物全基因组选择育种技术研究进展》。本文首先分析了影响作物GS功效的主要因素,继而从非加性效应模型、群体构建方案、多性状与多环境预测、多组学预测和育种芯片技术现状等方面阐述了GS技术在作物育种中的研究进......
  • 2024华为OD机试真题-堆内存申请-(C++/Python)-C卷D卷-100分
    2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)题目描述有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够且最接近申请大小的空闲内存。输入描述第1行是1个整数,表示期望申请的内存字节数第2到第N行是用空格......
  • 2024华为OD机试真题-围棋的气-(C++/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述围棋棋盘由纵横各19条线垂直相交组成,棋盘上一共19x19=361个交点,对弈双方一方执白棋,一方执黑棋,落子时只能将棋子置于交点上。“气”是围棋中很重要的一个概念,某个棋子有几口气,是指其上下左右方向四个相......
  • 对于2024年公众号内容的一点规划
    2015年,我开通了微信公众号。自诩文青,发过几篇疼痛文字。现在大多已删,由于太尬,能抠出三室两厅那种。现在能看到的最早一篇是张泉灵的央视离职日记:生命的后半段,您看了就知道有多尬。后面几年,粉丝寥寥,阅读可数,也很少更新,没想着做大做强,甚至有意回避推广,怕别人看到。工作做生信搞数......
  • 2024年,我为何仍坚定选择计算机专业
    在飞速发展的2024年,面对众多的专业选择,我仍旧坚定地选择了计算机专业。这一决定并非偶然,而是基于我对这个领域的深刻理解和对其未来发展的坚定信心。1.技术驱动的社会变革我们所处的时代是一个技术日新月异的时代。无论是人工智能、大数据、云计算,还是物联网、区块链、......
  • 全站首发!2024最新大模型LLM学习路线图来了!
    ChatGPT的出现在全球掀起了AI大模型的浪潮,2023年可以被称为AI元年,AI大模型以一种野蛮的方式,闯入你我的生活之中。从问答对话到辅助编程,从图画解析到自主创作,AI所展现出来的能力,超出了多数人的预料,让不少人惊呼:“未来是属于AI的”。AI大模型——成为互联网从业者必备技能。......
  • 最全Java面试题及答案整理(2024最新版)
    很多Java工程师的技术不错,但是一面试就头疼,10次面试9次都是被刷,过的那次还是去了家不知名的小公司。问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。应届生:你该如何准备简历,面试项目和面试说辞?Spring底层逻辑是什么?1-3年经验的程序员:面试中你该讲哪些值钱......
  • 【秋招突围】2024届秋招笔试-小红书笔试题-第一套-三语言题解(Java/Cpp/Python)
    ......
  • Sigir2024 ranking相关论文速读
    简单浏览一下Sigir2024中与ranking相关的论文。不得不说,自从LLM大热后,传统的LTR方向的论文是越来越少了,目前不少都是RAG或类似场景下的工作了,比如查询改写、rerank等。目录TheSurprisingEffectivenessofRankersTrainedonExpandedQueriesCanQueryExpansionImproveGene......
  • 2024wf中考数学难题tj
    睿频:中考量太大,太折磨人了。凭记忆口胡。多选最后一个:条件:AE//GC,EF垂直平分线。平行+垂直平分线,A证弧其实就是证角,D证菱形也差不多。\(A\):弧DA=弧AG。证:$\DeltaAEH\cong\DeltaEHC$,平行加等腰,直接ac平分角,o。\(D\):证\(AEFC\)菱形。俩垂直平分+证一下右边俩......