ZOJ 3380 Patchouli's Spell Cards [基础DP+大数]

数字人嫁接小程序:技术架构与应用实践 数字人技术作为人机交互的新范式,通过3D建模、语音合成和自然语言处理等核心技术,实现了拟人化的智能交互。其技术原理主要基于多模态融合与实时渲染,在提升用户体验的同时,显著增强了服务场景的情感化表达。从工程实践角度看,数字人嫁接小程序需要平衡性能优化与交互自然性,涉及轻量化模型、流式传输等关键技术。目前该技术已广泛应用于电商导购、在线教育等场景,数据显示能有效提升37%的转化率。随着WebGPU等新标准的推进,数字人在移动端的渲染效率有望获得60%的提升,为AR融合等创新应用奠定基础。 阅读详情

Description

Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館). Her specialty is elemental magic employing the seven elements fire, water, wood, metal, earth, sun, and moon. So she can cast different spell cards like Water Sign "Princess Undine", Moon Sign "Silent Selene" and Sun Sign "Royal Flare". In addition, she can combine the elements as well. So she can also cast high-level spell cards like Metal & Water Sign "Mercury Poison" and Fire, Water, Wood, Metal & Earth Sign "Philosopher's Stones" .

Assume that there are m different elements in total, each element has n different phase. Patchouli can use many different elements in a single spell card, as long as these elements have the same phases. The level of a spell card is determined by the number of different elements used in it. When Patchouli is going to have a fight, she will choose m different elements, each of which will have a random phase with the same probability. What's the probability that she can cast a spell card of which the level is no less than l, namely a spell card using at least l different elements.


题意:

抽象的来说,就是给你M个不同的球,N种颜色,现在给球染色,问至少有L个球同一种颜色的概率。


范围:

N,M,L<=100


解法:

总方案数很好算,为N^M,剩下的就是求至少L个球同色的方案数,其可以转换为 (总方案数-每种颜色至多L-1个球的方案数)。

然后就是很明显的DP了,DP[I][J]表示已放完I种颜色,剩下J个球的方案数,那么转移方程为

DP[I+1][J-K]+=DP[I][J]*C(J,K) 其中C()为组合数,K为当前颜色装的球数。

注意会暴longlong,需要用大数,我这里使用了JAVA写大数


import java.math.BigInteger;
import java.util.Scanner;
public class Main{
	static BigInteger[][] dp = new BigInteger[111][111];
	static BigInteger[][] c = new BigInteger[111][111];
	static void init(){
		c[0][0]=BigInteger.valueOf(1);
		for(int i=1;i<=100;i++){
			c[i][0]=c[i][i]=BigInteger.valueOf(1);
			for(int j=1;j<i;j++){
				c[i][j]=c[i-1][j-1].add(c[i-1][j]);
			}
		}
	}
	static int min(int x,int y){
		return x<y?x:y;
	}
	static void solve(int m,int n,int l){
		BigInteger fm=BigInteger.valueOf(n).pow(m);
		for(int i=0;i<=n+1;i++)
			for(int j=0;j<=m;j++)dp[i][j]=BigInteger.ZERO;
		dp[0][m]=BigInteger.ONE;
		for(int i=0;i<n;i++){
			for(int j=0;j<=m;j++){
				for(int k=0;k<=min(j,min(m,l-1));k++){
					dp[i+1][j-k]=dp[i+1][j-k].add(dp[i][j].multiply(c[j][k]));
				}
			}
		}
		BigInteger fz=dp[n][0];
		BigInteger gcd=fm.gcd(fz);
		fz=fm.subtract(fz).divide(gcd);
		fm=fm.divide(gcd);
		System.out.println(fz+"/"+fm);
	}
	public static void main(String[] args) {
		init();
		int m,n,l;
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()){
			m=sc.nextInt();
			n=sc.nextInt();
			l=sc.nextInt();
			if(l>m)System.out.println("mukyu~");
			else solve(m,n,l);
		}
		sc.close();
	}
}



【Python进阶】VSCode Python开发完全指南:从环境配置到高效调试 本文通过15个实战案例,系统讲解VSCode进行Python开发的环境配置、编码技巧、调试方法及性能优化,帮助初学者快速构建专业开发环境。 阅读详情

相关推荐

MATLAB 论文复现——面向紧急需求响应的规模化灵活资源负荷管理快速决策方法

其次,对灵活资源参与EDR的功率分配模型进行了建模,并提出了基于分层分布式共识算法的快速决策方法,对功率分配模型进行快速求解,以满足EDR实时性的需求,在保证较高精度的前提下提高了决策速度。[1]孔祥玉,杨至端,孙裕策,等.面向紧急需求响应的规模化灵活资源负荷管理快速决策方法[J/OL].电力系统自动化,1-13[2024-07-29].http://kns.cnki.net/kcms/detail/32.1180.TP.20240709.1843.002.html.关键词: 规模化灵活资源;

sjr1478的博客 374

ZOJ 3380 Patchouli's Spell Cards(概率DP)

传送门 Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館). Her specialty is elemental magic employing the seven elements fire, water

代码改变世界 947

信息奥赛课课通(C++)p154-1近似排序

试题描述 读入一对正整数,将这两个数之间(包括这两个数本身)的所有数按下述特别规则排序后输出,该特别规则是按两数倒过来的值进行比较决定其大小,如30倒过来为3,29倒过来为92,则29大于30. 输入要求 1行,包含两个用空格隔开的自然数,这两个自然数给出了待排序数的范围,其中1≤第一个数≤第二个数≤999999999,两个数之差不超过100. 输出要求 输出排序后的数据,每行输出...

mengdicfm的博客 7282

★ZOJ 3380 Patchouli's Spell Cards 详细题解 (递推+组合数求方案数)

Patchouli's Spell Cards Time Limit: 7 Seconds      Memory Limit: 65536 KB Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館)

K键盘里的青春K 1150

Abel逆变换及其求解方法

Abel逆变换常应用在轴对称的、光学薄的火焰、羽流或等离子体重建。

weixin_49783507的博客 8370

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

ZOJ3380- Patchouli's Spell Cards(概率DP+计数)

Patchouli's Spell Cards Time Limit: 7 Seconds      Memory Limit: 65536 KB Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館

mowayao的专栏 1069

MobileViT替换YOLOv11主干网络:轻量化新思路-(用MobileViT等轻量视觉Transformer降低计算成本)

在计算机视觉领域,目标检测一直是核心任务之一,而YOLO(You Only Look Once)系列算法因其出色的速度-精度平衡成为工业界和学术界的热门选择。随着YOLOv11的推出,模型性能达到了新的高度,但其计算复杂度和参数量也随之增加,这对资源受限的移动设备和嵌入式系统提出了挑战。与此同时,视觉Transformer(ViT)的出现为计算机视觉带来了全新范式,但其庞大的计算需求限制了在移动端的应用。MobileViT作为一种创新的轻量级视觉Transformer架构,巧妙结合了CNN的归纳偏置优势和V

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1647

ZOJ 3380 Patchouli's Spell Cards 概率DP

题意:给你m个位置,每个位置放一个数,区间为1~n,问你至少有L个位置是一样的数的概率,结果用分数表示思路:这题我们从反向入手,dp[i][j]代表前i个数,放到j个位置,且没有L个或以上的位置有相同的组合情况,最后用n^m减去即可这道题要用大数,正好这两天在乱搞python。。。import sysC = [([0] * 110) for i in range(110)] for i in ran

s_h_r 579

(数字图像处理MATLAB+Python)第五章图像增强-第一节:图像增强概述和基于灰度级变换的图像增强

图像增强(Image Enhancement):指不考虑图像降质原因,利用各种数学方法和变换手段,增强图像中人们感兴趣部分或提高有用的图像特征的清晰度。从图像质量来看,图像增强提高了图像的可懂度,改善了图像的视觉效果例如在现实场景中,针对那些对比度较差、视觉效果不好的图像,我们就可以利用图像增强改善视觉质量图像增强可分为如下几种基于灰度级变换的图像增强基于直方图修正的图像增强基于照度反射模型的图像增强基于模糊技术的图像增强基于伪彩色处理的图像增强其他图像增强方法分段线性灰度级变换。

快乐江湖的博客 3333

Qt6.10 | Qt Bluetooth 蓝牙

本文介绍了QtBluetooth模块的功能和使用方法,包括蓝牙API概述、构建配置(CMake/qmake)、权限管理、平台支持(Linux/macOS特殊处理)、日志设置及许可信息。重点说明Linux平台的后端选择机制,以及macOS上的依赖限制。最后提及蓝牙聊天示例,展示RFCOMM协议通信的实现。全文提供了蓝牙开发的技术要点和注意事项。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 400

ZOJ 3380 Patchouli's Spell Cards(DP,大数)

转载请注明出处,谢谢http://blog.youkuaiyun.com/acm_cxlove/article/details/7854526       by---cxlove 题目:有m个位置,每个位置填入一个数,数的范围为1-n,问至少有i个位置的数字一样的概率为多少 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3957

窝不是爱酱,喵~~~~ 2233

2026华为OD面试手撕代码真题目录

一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。

MISAYAONE的博客 9万+

ZOJ3380 Patchouli's Spell Cards C++版(概率DP+大数)

题意题解不说了,这里主要讲用C++大数为了节省时间使用了进制压缩,使用long long数组,进制1e9,使进制的平方在long long范围内#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;algorithm&gt; using namespace std; const long long mod=1000000000; ...

sun_hongjia的博客 402

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ZOJ 3380 Patchouli's Spell Cards [基础概率DP+大数]

Patchouli's Spell Cards Time Limit: 7 Seconds      Memory Limit: 65536 KB Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館).

Rain 592

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ZOJ 3380 Patchouli's Spell Cards(概率+大数)

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3957 题意:m个位置,每个位置可以放n种数字(1-n)。问至少有L个位置数字一样的概率? 思路:反着想,我们先求出没有L个位置数字一样的放法ans。dp[i][j]表示前i种数字占据j个位置的放法数,dp[i][j]=sum(dp[i-1][j-k]*C[m-(j...

weixin_33923762的博客 169

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ZOJ-3380 Patchouli's Spell Cards(概率DP&&大数)

看了题解后发现大神总结抽象能力好强,抽象成:有m个位置,在每个位置随机填上1~n个数,求相同的数至少有l的概率? 即使这样还是没有思路,认为是容斥什么的直接计算,完全想不到概率DP 大致思路如下:正难则反,统计填满数后相同的数小于l的情况 设dp[i][j]表示前i个数占据j个位置的方案数(且每个数占据的位置小于l) 该状态可由前i-1个数占据j-min(j,l)+1 ~ j个位置转移而来,保证第i个数占据的位置小于l 则状态转移方程为:dp[i][j]=∑dp[i-1][j-k]*c(m-j+k,k)

idealism_xxm的专栏 473

ZOJ 3380 Patchouli's Spell Cards(概率DP)

Patchouli's Spell CardsTime Limit: 7 Seconds      Memory Limit: 65536 KB Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館). Her sp...

weixin_34237596的博客 115

ZOJ 3380 Patchouli's Spell Cards (概率dp)

题意:

To_c_t_w 453

zoj3380 Patchouli's Spell Cards

Patchouli's Spell Cards Time Limit: 7 Seconds Memory Limit: 65536 KB Patchouli Knowledge, the unmoving great library, is a magician who has settled down in the Scarlet Devil Mansion (紅魔館). He

习惯与规则决定命运 1047

ZOJ 3380 Patchouli's Spell Cards( 概率DP)

题意:用n个数填充m个位置,问有大于等于l个相同数字的概率。 这个题看了很多题解,大部分代码都是有点问题的,一开始dp的状态都是一样的。(具体见下) 思路:设dp[i][j] 为用前i个数填充j个位置的方案数。 则dp[i][j] = sigma(dp[i-1][j-k] * C[m-j+k][k]) (k >= 0 && k 最后的结果应该是(n^m - dp[n][m]) /  n^

Neutralzz的博客 370

ZOJ 3380 Patchouli's Spell Cards——组合数+概率dp

题意: m个位置,每个位置可以等概率填n种数,规定一个数字出现次数不能超过L次(注意不是连续L次),填完m个位置后满足约束的概率是多少。 思路: 定义dp[i][j]为前i种数字填充j个位置(j个位置不必连续)的方案数,那么 dp[i][j]=∑(1&lt;=k&amp;&amp;k&lt;L&amp;&amp;k&lt;=j)dp[i-1][j-k]*C[m-(j-k)][k],C为组合...

hao_zong_yin的博客 430

ZOJ3380_Patchouli's Spell Cards_概率DP

题目大意用n个数填m个位置,每个位置上出现每个数的概率相同,求存在一个数再序列中出现的次数 &gt;=l 的概率。思路求概率转化为求   -&gt;  符合要求的序列的数量 / 总序列数量 -&gt;   (总序列数量 - 不符合要求的序列的数量) / 总序列数量不符合要求的序列的数量即序列中每个数出现不超过ldp[i][j] 表示用前i个数添m个位置上的任意j个位置的情况数量dp[i][j] =...

Sangria's Blog 325

ZOJ 3380 Patchouli's Spell Cards 概率DP

题目大意: 就是现在有m个位置, 每个位置可以放n种不同的元素中的一个, 问在至少有L个位置上的元素是一样的概率. 大致思路: 首先如果考虑有L, L + 1, .... m个位置上是一样的方案数不好考虑, 但是可以从反面考虑, 计算只有1, 2, ... L - 1个位置有相同元素的方案数, 用总方案数n^m减去即可 如果用dp[i][j]表示用前i种元素填了j个位置(不一定是前

Gatevin的专栏 783

Zoj 3380 Patchouli's Spell Cards (概率dp)

题目大意: 用(1 2 3 ... n) n个数填充 m个位置,问最少相同的数字出现的数量不少于I 的概率 思路分析: 逆向思考,求铺满最多的数量不够I 个的方案数。 每次用一个数字去铺,铺M个位置,每个数字最多铺 不够I个。 dp[i][j]表示枚举到了第i个数字,前i个数字铺了j个位置的方案数。 考虑到组合计数 用Java import java.util.*;

Jinx Jinx again 931

【概率DP】 ZOJ 3380 Patchouli's Spell Cards

通道 题意:有m个位置,每个位置填入一个数,数的范围是1~n,问至少有L个位置的数一样的概率 思路: 总数是n^m,我们求没有L个位置一样的数的概率 * 设 dp[i][j]表示用前i个数,填充j个位置的方案数(要符合没有L个位置是一样的数) * dp[i][j]=dp[i-1][j]+Sigm( dp[i-1][j-k]*C[m-(j-k)][k] ) k<=j&...

152
上一篇: HDU 4405 Aeroplane chess [概率DP+并查集]
下一篇: Codeforces Round #334 (604B) More Cowbell [贪心]
GrassTreeFlower
博客等级 码龄11年 14粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值