爱丽丝的人偶(二)-(排列组合-数学)

版图学习汇总十一(DRC、LVS注意事项) esd。 阅读详情
题目链接:点击进入

在这里插入图片描述

思路

去重,求组合数 c( len , k )(len为去重后的序列长度)
(预处理组合数)

代码
#include<iostream>
#include<string>
#include<map>
#include<set>
//#include<unordered_map>
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<fstream>
#define X first
#define Y second
#define best 131 
#define INF 0x3f3f3f3f3f3f3f3f
#define pii pair<int,int>
#define lowbit(x) x & -x
//#define int long long
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const double eps=1e-7;
const double pai=acos(-1.0);
const int N=2e4+10;
const int maxn=1e6+10;
const int mod=1e9+7;
ll f[maxn],inv[maxn],p[maxn];
ll qpow(ll a,ll b)
{
	ll res=1;
	while(b)
	{
		if(b&1) res=res*a%mod;
		b>>=1;
		a=a*a%mod;
	}
	return res;
}
void init()
{
	f[0]=1;
	for(int i=1;i<maxn;i++)
		f[i]=f[i-1]*i%mod;
	inv[maxn-1]=qpow(f[maxn-1],mod-2);
	for(int i=maxn-2;i>=0;i--)
		inv[i]=inv[i+1]*(i+1)%mod;
	return ;
}
ll c(ll n,ll m)
{
	if(n<m) return 0;
	else return f[n]*inv[m]%mod*inv[n-m]%mod;
}
int main( )
{
//	ios::sync_with_stdio(false);
//	cin.tie(0);cout.tie(0);
    init();
	ll n,m,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>p[i];
	sort(p+1,p+n+1);
	int len=unique(p+1,p+n+1)-p-1;
	cout<<c(len,k)%mod;
	return 0;
}
基于本地知识库的智能问答系统架构 智能问答系统的核心可以分为4部分。1)知识库构建。2)检索。3)后处理。4)推理。知识库构建:知识库中可以包含多个向量数据库和知识图谱等,核心是怎么建立索引,使得检索时能够将与问题相关的知识给检索出来。检索:从知识库中的多个库或者知识图谱中检索出与问题相关的信息。后处理:从知识库中检索出来的信息可能是冗余的,而且可能不符合我们希望的格式要求,因此,我们需要对这些数据进行过滤,格式化等操作。推理: 基于检索出来的知识进行推理,让输出能够回答用户的问题,目前主要使用大模型进行推理。 阅读详情

相关推荐

4路QSFP28接口能玩出什么花样?基于璞致VU13P开发板的100G网络测试方案

本文详细介绍了基于璞致PZ-VU13P-KFB开发板构建100G网络测试方案的实战指南。该方案充分利用板载Xilinx Virtex UltraScale+ FPGA的强大算力与4路QSFP28接口,涵盖从光模块选型、Aurora协议配置、开源Corundum方案部署,到误码率测试及散热优化的全链路流程,为高速网络设备研发与验证提供了可靠的硬件平台。

cola5的博客 453

洛谷——爱丽丝的人偶(二)

爱丽丝的人偶(二) B题链接:https://ac.nowcoder.com/acm/contest/8755/B 爱丽丝有个人偶,第 个人偶的型号为。 现在爱丽丝要拿出其中个人偶,满足这个人偶的型号互不相同。 爱丽丝想知道自己有多少多不同的方案数? 注:若两个人偶的型号相同,那么无论拿她们中的哪一个都是等价的。 请将方案数对取模。 输入描述: 第一行输入两个正整数和,用空格隔开。 第二行输入个正整数,代表这个人偶的型号。 输出描述: 一个整数,代表最终方案的数量对取模的值。 示例1 输入 5 2 1 2

abcdefghikk的博客 741

BEVFormer与TensorRT的完美结合:如何实现4倍推理加速?

本文详细解析了如何通过TensorRT的量化技术和自定义插件实现BEVFormer模型的4倍推理加速,同时保持精度损失小于1%。文章从模型架构与部署挑战入手,深入探讨了计算图优化、自定义插件开发和量化校准策略,并提供了完整的部署流程和性能调优技巧,为自动驾驶领域的实时3D感知提供了高效解决方案。

bean的博客 220

笔面试算法--常用模板介绍(爱丽丝的人偶(二) (选做)、点一成零(选做)、maki和tree (选做))

#include<iostream> #include<cstdio> #include<cmath> #include<stdio.h> #include<stdlib.h> #include<vector> #include<iomanip> #include<algorithm> #include<queue> #include<stack> #include<map&g...

0k-ok 797

手把手教你用T630芯片开发USB3.0数据采集卡(含FPGA对接避坑指南)

本文详细介绍了如何使用国产T630芯片开发USB3.0数据采集卡,包括FPGA对接的避坑指南。T630作为国产替代方案,相比传统CYUSB3014芯片,具有更高的传输带宽(实测410MB/s)和更完善的开发支持。文章从硬件设计、固件开发到上位机调试,提供了全流程的技术细节和优化技巧,助力开发者快速实现工业级数据采集系统。

weixin_42531163的博客 619

手把手教你用Arduino搭建惠斯通电桥:从原理到代码实现(附完整电路图)

本文详细介绍了如何利用Arduino搭建惠斯通电桥,从硬件选型、电路设计到代码实现和校准技巧,提供完整的电路图和实用代码示例。特别适合电子爱好者和创客学习高精度电阻测量技术,并扩展应用于应变片测量和温度监测等实际项目。

o4p5q6r7s的博客 399

python leetcode刷题 (41):1025. 除数博弈

题目描述: 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态...

weixin_42785446的博客 677

图像相似度的评价指标 : FID(Fréchet Inception Distance)

FID(Fréchet Inception Distance) 是用来计算真实图像与生成图像的特征向量间距离的一种度量。如果FID值越小,则相似程度越高。最好情况即是FID=0,两个图像相同。 实际计算: 参考链接:https://machinelearningmastery.com/how-to-implement-the-frechet-inception-distance-fid-from-scratch/ # example of calculating the frechet inceptio

weixin_43723625的博客 1万+

HNUST OJ 2289 爱丽丝的人偶

思路 这种题 主要还是模拟 可以让 n q 循环减去 (n+1)/2 求得所在q的轮数 令 为 第轮 的 人偶数量 , 为 人偶总数 第 轮 离开的 人偶 第 轮 的第一个人偶是 每轮的人偶号数成等差数列 第 轮 的第个人偶是 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm&g...

qq_30777847的博客 1011

群晖Docker安装GitLab

external_url ‘http://lanweixia.synology.me’ 这种情况访问页面的时候加上端口没问题,但是会导致http的克隆地址没有端口。external_url ‘http://lanweixia.synology.me:8000’ 加端口的话,又会导致页面访问不了,Gitlab也一直处于启动状态。​ 完成以后修改docke—>gitlab—>config---->gitlab.rb。就是上面改的端口(docker的端口)首次进入,会设置密码,这个密码就是用户名。

Lim的博客 9101

安捷伦示波器实战指南:从基础操作到精准触发

本文详细介绍了安捷伦示波器的基础操作与高级功能,包括精准触发配置、波形分析和常见问题排查。通过实战技巧和优化建议,帮助工程师快速掌握示波器的核心功能,提升调试效率。特别适合电子工程师和测试技术人员参考使用。

weixin_30839881的博客 135

leetcode 1025 除数博弈

题目 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作: 选出任一x,满足0 < x < N 且N % x == 0。 用 N - x替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏中取得胜利时才返回True,否则返回 false。假设两个玩家都以最佳...

jone5679的博客 546

【100分】【等和子数组最小和】

逆序排序,这样能够使得在分组时优先选取较大的元素,以便将元素分配到较小的子集中,从而使得每个子集的和相对均衡。给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。分成若干个组,使得每组的和相等,并求出满足条件的所有分组中,组内元素和的最小值。在递归的过程中,我们需要注意一个优化点,即避免将相同和的桶重复计算。4 个子集(5),(1,4),(2,3),(2,3)2 个子集(5, 1, 4),(2,3, 2,3)个子集,则返回子集和的最小值,如果不能,则将。

weixin_54707168的博客 1168

北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛

爱丽丝的人偶(一) 链接:https://ac.nowcoder.com/acm/contest/12226/A 来源:牛客网 题目描述 爱丽丝有个人偶,每个人偶的身高依次是 现在她要将这个人偶摆成一排。 但是人偶被设置了魔法。假设对一个非两端的(不在队首也不在队尾)人偶而言,她相邻的两个人偶,一个比高、一个比矮,那么就会爆炸。 爱丽丝想找到一种摆法,使得所有人偶都不会爆炸。你能帮帮她吗? 输入描述: 一个正整数 输出描述: 满足要求的一种摆法。如果有多解,输出任意一种摆法即可。 示例1 输入 复制 3 输

qq_45772483的博客 862

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛(同步赛)题解

A 爱丽丝的人偶(一) 思路: 先排小的,然后插空排大的就好了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll maxn=0x3f3f3f3f; int a[1000007]; int main() { int n; cin>>n; int e; if(n%2==0){ e=n/2; }else{ e=n/2+1; } int cnt=1; for(

weixin_45434743的博客 1915

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【C语言答案】输入输出的第一次练习题

C语言_ex01_01 运行时间限制: 1000 运行内存限制: 65536 题目描述 写一程序,按要求输出字符串。 输入: 为一个整数n(0<n<100)。 输出: 共8行,具体见输出样例。(建议最后一行也输出换行符) 输入样例 10 输出样例 Hello, China! Hello, World! Hello Hello China Hello Hello “Hel...

sita1207的博客 7830

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

CF(940 C. Phone Numbers)

题目链接:题目链接题目大意:    给出长度为n的一个字符串A,然后输出一个长度为k的字符串B,这个字符串B的组成字符必须是字符串A中出现过的而且字符串B为所有用字符串A中出现的字母 组成的字符串中 比A字典序大的字符串所组成的集合中 最小的(注意断句),多读几遍就好了。题目分析:  我们可以发现对于每一组n和k,都有三种关系:1.n==k 2.n&gt;k 3.n&lt;k;样例也给出这三种情况...

Tmotfl的博客 539

Codeforces Round #513 A. Phone Numbers(水题)

  题目链接:http://codeforces.com/contest/1060/problem/A        题意是输入n个数字,然后问这n个数字最多能组成多少个手机号,手机号是11位的,而且必须要8开头。        思路很简单,求出n/11和8的个数的最小值就好了... AC代码: #include &lt;bits/stdc++.h&gt; using namespac...

Charles_Zaqdt的博客 338

CF25B Phone numbers

题目描述: 给一串长度为 n 的数字串,在两个或三个数字之间加 “-”,使得这个数字串便于记忆。如果有多解,可随意输出其中一个。(2<=n<=100) 解题思路: 先判断字符串的个数是偶数个还是奇数个 偶数:22-33-55 不难看出除去最后的两个数字每输出两个数字就输出一个“ - ”,我们就可以定义一个变量来记录输出数字的个数来输出 “ - ”,最后两个数字后我们可以判断它是否是字符串的结尾来判断是否要输出“ - ” 奇数:22-33-555 我们可以先按照偶数的情况来输出,最后单独输出最后一

m0_57005796的博客 192

CodeForces - 940C Phone Numbers (字符串,模拟)

题意分析: 这道题就是写出比给出字符串字典序大的最小字符串,要求所用字符串的字符来自与给出的原来字符串。 比如说给出 3 3(原字符串的长度,输出字符串的长度) ayy 输出 yaa 最近刚刚学STL,写的不好。知道了set不能访问指定位置的字符串,只能遍历访问。知道了vecotr的尾部元素是ite=ve.end()-1,*ite.一定要有-1呀。。 #include&amp;amp;amp;lt;bit...

xx_ii 539

CodeForces 940 C. Phone Numbers 字符串构造

http://codeforces.com/contest/940/problem/C 限定字符集,求长度为k的,字典序比给定长度为n的字符串大的最小的字符串。 ①k&gt;n时,在原串后补上最小的字符。 ②k&lt;=n时,答案为原串的前k位+1,即比原串k位前缀大的第一个字符串。 #include &lt;bits/stdc++.h&gt; using namespace std;...

西瓜不甜的博客 433

Imprecise Computer - ( 思维 / 递推 )

题目描述 The Imprecise Computer (IC) is a computer with some structural issue that it can compare two integers correctly only when their difference is at least two. For example, IC can always correctly answer ‘4 is larger than 2’, but it can answer either ‘2 i

Cosmic_Tree的博客 1528

Going Home - ( 抽屉原理 )

题目链接:点击进入 题目 题意 给一个长度为 n 的数组,问是否存在 x , y , z , w ( 四个数互不相同 ) ,满足 a [ x ] + a [ y ] = a [ z ] + a [ w ] ; 思路 暴力枚举 x 与 y ,得出和值 C ,2 <= C <= 5e6。 有 n ^ 2 对( x , y ),和值 C 大约有 5e6 种取值,当 n ^ 2 > 5e6 时,根据抽屉原理,必有一个和值对应两个以上的( x , y )对,但是,此时可能对应的( x , y )

Cosmic_Tree的博客 1407

ABC Conjecture(大数分解)-2020ccpc(威海)

题意 给你一个范围是 [ 1 , 10 ^ ​18​​ ] 的数,让你求这个数能不能被一个 素数的平方 整除(即 c % ( i * i ) == 0) 思路1 用大数分解模板,将 c 分解得到 c 的所有质因子,然后去重(模板得到的是无序且没去重的),然后将所有质因子相乘,得到 tmp , 如果 tmp 跟 c 相等,说明 c 不能被素数的平方整除,否则可以。 (记得特判 c == 1 的情况!!! c = 1 是 “ no ” ) 代码1 #include<iostream> #incl..

Cosmic_Tree的博客 1335

A Golden Spirit (思维)-2020ccpc(威海)

题意 一座桥,桥两侧各有 n 个人,每个人都想去桥对面休息 x 分钟后再返回(必须休息够 x 分钟才能被背回去),问你满足所有人的愿望,最少需要多少分钟(你背一个老人过一次桥需要 t 分钟) 思路 最优的办法是(前 2 n 次)每一次过桥先背一个人去对面休息,等到所有(2 n个)人都到了(相对于自己一开始的位置的)桥对面,然后,这时候自己应该在自己最开始的位置,而此时每个人的休息所剩时间应该是: x x-2t x-4t … x-2*(n-1)t | x-t x-3t x-..

Cosmic_Tree的博客 1054

Gym - 103069B - Rectangle Flip 2( 暴力 + 思维 )

题目链接:点击进入 题目 题意 n * m 的网格,每秒删除其中一个小网格,问每秒后,还剩余多少个好的矩形 ( 只要是矩形,同时矩形内没有被删除的格子 ) 思路 蚌埠住啦,这题因为万恶的javaweb被我搁置了好久,我老早就想写了,难受≧ ﹏ ≦ 按照顺序删除点,对于每个删除的点,看会影响多少新矩形。思考一下(脑袋里构一下图),一个新删除的点,能影响到的,只能是以这个点x为中轴,上下每行左右扩到最大的部分(最大就是指碰到被删除的点,或者边界),这个上下每行也是在x轴上上下扩到最大的。我们若是确定每行能扩

Cosmic_Tree的博客 834
上一篇: “图灵杯”趣味网络邀请赛-B-回文串(回文串构造)
下一篇: cf - 940C - Phone Numbers - ( 构造 )
Cosmic_Tree
博客等级 码龄7年 134粉丝 337原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值