news 2026/5/8 16:27:38

打卡信奥刷题(3231)用C++实现信奥题 P8432 「WHOI-2」ぽかぽかの星

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3231)用C++实现信奥题 P8432 「WHOI-2」ぽかぽかの星

P8432 「WHOI-2」ぽかぽかの星

题目背景

你在雪洞里喝着热可可数星星。但这次,星星换成了数列,不过聪明的你一定能数清楚数列的吧。

题目描述

有多少个长度为nnn正整数数列aia_iai满足:

  • 0<a1≤a2≤a3⋯≤an≤k0<a_1\leq a_2\leq a_3\dots \leq a_n\leq k0<a1a2a3ank
  • ∀i≠j,ai+aj≠k+1\forall i\not = j,a_i+a_j\not = k+1i=j,ai+aj=k+1

答案对109+710^9+7109+7取模。

输入格式

本题多测

第一行一个正整数表示TTT

接下来TTT行,每行两个正整数表示n,kn,kn,k

输出格式

TTT行,每行一个正整数表示答案。

输入输出样例 #1

输入 #1

3 2 2 1145 1419 19198 12321

输出 #1

2 66937457 949924930

说明/提示

本题采用捆绑测试

  • subtask1(20pts):T=5,1≤n,k≤5\text{subtask1(20pts)}:T=5,1\leq n,k\le5subtask1(20pts):T=5,1n,k5
  • subtask2(80pts):\text{subtask2(80pts)}:subtask2(80pts):无特殊限制。

对于100%100\%100%的数据,T≤100,1≤n,k≤5×106,1≤∑n,∑k≤6×107T\leq100,1\le n,k\le 5\times 10^6,1\leq \sum n, \sum k\le6\times 10^7T100,1n,k5×106,1n,k6×107

C++实现

#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstlonglongp=1e9+7;intjc[5000001],jcp[5000001],p2[5000001];inlinelonglongpoww(longlonga,longlongb){longlongss=1;while(b){if(b&1)ss=ss*a%p;a=a*a%p;b>>=1;}returnss;}signedmain(){ios::sync_with_stdio(false);jc[0]=1,p2[0]=1,jcp[0]=1;for(inti=1;i<=5000000;i++)jc[i]=jc[i-1]*i%p,jcp[i]=poww(jc[i],p-2),p2[i]=p2[i-1]*2%p;intt;cin>>t;while(t--){intn,k,s=0;cin>>n>>k;if(n==1){cout<<k<<"\n";continue;}intkk=k/2;intc=min(n,kk);for(inti=1;i<=c;i++){inta=jcp[i]*jcp[kk-i]%p*jc[kk]%p,b=jc[n-1]*jcp[n-i]%p*jcp[i-1]%p;if(i-1==0)b=1;s=(s+a*b%p*p2[i]%p)%p;}if(k%2==0){cout<<s<<"\n";continue;}c=min(n-1,kk);for(inti=1;i<=c;i++){inta=jc[kk]*jcp[kk-i]%p*jcp[i]%p,b=jc[n-2]*jcp[n-1-i]%p*jcp[i-1]%p;if(i-1==0)b=1;s=(s+a*b%p*p2[i]%p)%p;}cout<<s<<"\n";}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 16:25:35

飞书文档导出实用指南:告别云端依赖的完整备份解决方案

飞书文档导出实用指南&#xff1a;告别云端依赖的完整备份解决方案 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 在数字化办公时代&#xff0c;飞书已成为众多团队的核心协作平台。然而&#x…

作者头像 李华
网站建设 2026/5/8 16:25:09

312. 戳气球

这道题是区间dp问题不能正着来,要反着来,因为最后肯定只剩一个气球,所以最后一次的收益是固定的dp[i][j]表示从区间(i,j)获得的最大收益,只戳中间,i和j不戳,假设在这个区间中有一个k,k是最后一个要戳的气球,那么最后一次的收益就是arr[i]*arr[k]*arr[j],根据这个k,(i,j)这个区间…

作者头像 李华
网站建设 2026/5/8 16:24:12

终极指南:3分钟掌握LaTeX公式完美复制到Word的快速方法

终极指南&#xff1a;3分钟掌握LaTeX公式完美复制到Word的快速方法 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为网页上的数学公式无法优…

作者头像 李华
网站建设 2026/5/8 16:23:48

如何判断智能猫砂盆的选型适配条件?

行业痛点分析传统智能猫砂盆的清洁盲区问题长期困扰养宠家庭。测试显示&#xff0c;83%的自动猫砂盆在完成铲屎后&#xff0c;盆底仍残留15%-20%的尿液结团猫砂&#xff0c;这些残留物在24小时内会滋生3倍以上的细菌&#xff08;数据来源&#xff1a;中国宠物健康白皮书2023&am…

作者头像 李华