网站备案查询系统wordpress唱片公司模板

张小明 2026/1/9 19:32:11
网站备案查询系统,wordpress唱片公司模板,那个网站招丑的人做网红,wordpress改变语言题目描述 教授 X 要给 NNN 个学生分组完成学期任务#xff0c;他希望每个小组恰好有 KKK 个学生。 当无法让所有小组都恰好有 KKK 个学生时#xff0c;最多可以有一个小组的学生数少于 KKK 。 学生用前 NNN 个大写英文字母表示#xff08; A 到 A N - 1 #xff09;。 我们…题目描述教授 X 要给NNN个学生分组完成学期任务他希望每个小组恰好有KKK个学生。 当无法让所有小组都恰好有KKK个学生时最多可以有一个小组的学生数少于KKK。 学生用前NNN个大写英文字母表示 A 到 A N - 1 。我们需要处理两种查询COUNT\texttt{COUNT}COUNTNNNKKK计算可以组成小组的方式数量GENERATE\texttt{GENERATE}GENERATENNNKKK生成所有可能的分组方式列表分组规则每个学生只能属于一个小组小组内学生的不同排列顺序被视为相同即组内无序组内学生按字母顺序排列组间按字典序排列使用 ASCII 值比较所有解按字典序排序输入限制最多 1200 个测试用例COUNT\texttt{COUNT}COUNT查询1≤N,K≤301 \le N, K \le 301≤N,K≤30GENERATE\texttt{GENERATE}GENERATE查询1≤N,K≤151 \le N, K \le 151≤N,K≤15每个GENERATE\texttt{GENERATE}GENERATE查询的解不超过100001000010000行所有GENERATE\texttt{GENERATE}GENERATE查询的总解不超过300003000030000行题目分析分组情况分析设总人数为NNN理想小组大小为KKK则整除情况当N mod K0N \bmod K 0NmodK0时所有小组大小都为KKK小组数gN/Kg N / KgN/K非整除情况当N mod Kr0N \bmod K r 0NmodKr0时有一个小组大小为rrr其余g−1g-1g−1个小组大小都为KKK小组数g⌈N/K⌉g \lceil N/K \rceilg⌈N/K⌉数学建模这是一个集合划分问题需要考虑以下关键点组内无序小组内学生的排列顺序不重要组间有序性当所有小组大小相同时组间是无序的当有不同大小的小组时大小不同的小组是独特的字母顺序组内按字母顺序排列这简化了生成过程计数公式推导情况1整除情况N mod K0N \bmod K 0NmodK0小组数gN/Kg N/KgN/K所有小组大小都为KKK。计算步骤将NNN个不同学生分配到ggg个小组中每个小组大小为KKK由于组间无序需要除以g!g!g!公式countN!(K!)g⋅g! \texttt{count} \frac{N!}{(K!)^g \cdot g!}count(K!)g⋅g!N!​情况2非整除情况N mod Kr0N \bmod K r 0NmodKr0小组数g⌈N/K⌉g \lceil N/K \rceilg⌈N/K⌉有一个小组大小为rrr其余g−1g-1g−1个小组大小为KKK。计算步骤从NNN个学生中选择rrr个给较小的组C(N,r)C(N, r)C(N,r)将剩余N−rN-rN−r个学生分配到g−1g-1g−1个大小为KKK的组中大小为KKK的组之间无序需要除以(g−1)!(g-1)!(g−1)!公式countC(N,r)⋅(N−r)!(K!)g−1⋅(g−1)! \texttt{count} C(N, r) \cdot \frac{(N-r)!}{(K!)^{g-1} \cdot (g-1)!}countC(N,r)⋅(K!)g−1⋅(g−1)!(N−r)!​大数处理对于 COUNT 查询N,K≤30N, K \le 30N,K≤30最大的阶乘30!≈2.65×103230! \approx 2.65 \times 10^{32}30!≈2.65×1032这超出了 64 位无符号整数的范围最大值约1.84×10191.84 \times 10^{19}1.84×1019。 因此需要使用128128128位整数来避免溢出。解题思路1.COUNT\texttt{COUNT}COUNT查询实现使用__int128类型处理大数计算预计算阶乘表factorial[0..30]根据NNN和KKK的关系选择公式使用组合数函数计算C(N,r)C(N, r)C(N,r)使用阶乘除法计算结果将__int128转换为字符串输出2.GENERATE\texttt{GENERATE}GENERATE查询实现使用回溯法DFS\texttt{DFS}DFS生成所有解算法步骤表示方法用字符串表示小组如ABC表示包含学生 A、B、C 的小组状态表示currentGroups当前已形成的小组列表used标记哪些学生已被分配currentGroupSize当前小组的当前大小currentGroupStart当前小组的下一个学生起始索引保证组内字母顺序递归过程如果所有学生都已分配idx N检查是否满足小组大小约束最多一个小组小于KKK如果满足则保存解否则尝试将当前学生加入现有小组如果小组未满尝试开始一个新小组排序规则组内按字母顺序通过currentGroupStart参数保证组间按字符串字典序所有解按组序列的字典序排序剪枝优化通过currentGroupStart参数避免生成组内无序的重复解只在必要时开始新小组及时检查小组大小约束时间复杂度分析COUNT\texttt{COUNT}COUNT查询预计算阶乘O(30)O(30)O(30)每次查询O(1)O(1)O(1)GENERATE\texttt{GENERATE}GENERATE查询最坏情况N15,K1N15, K1N15,K1解数为15!130767436800015! 130767436800015!1307674368000但题目保证不超过 10000 个解实际运行由于N≤15N \le 15N≤15且解数有限回溯法可以接受代码实现// n Group k// UVa ID: 10568// Verdict: Accepted// Submission Date: 2025-12-14// UVa Run Time: 0.320s//// 版权所有C2025邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;usingullunsignedlonglong;usingint128__int128;// 预计算阶乘vectorint128factorial(31);voidprecomputeFactorial(){factorial[0]1;for(inti1;i30;i)factorial[i]factorial[i-1]*i;}// 组合数计算 C(n, k)int128combination(intn,intk){if(k0||kn)return0;if(kn-k)kn-k;int128 result1;for(inti1;ik;i){resultresult*(n-ki)/i;}returnresult;}// 计算分组数int128countWays(intn,intk){intgroups(nk-1)/k;// ceil(n/k)intremaindern%k;if(remainder0){// 所有组大小都是kint128 waysfactorial[n];// 除以 (k!)^groupsint128 kFactorialfactorial[k];for(inti0;igroups;i)ways/kFactorial;// 除以 groups! (组间无序)ways/factorial[groups];returnways;}else{// 有一个大小为remainder的组其余groups-1个组大小为k// 1. 选择remainder个学生给较小的组int128 wayscombination(n,remainder);// 2. 剩余学生分配到groups-1个大小为k的组中intremainingn-remainder;ways*factorial[remaining];// 除以 (k!)^(groups-1)int128 kFactorialfactorial[k];for(inti0;igroups-1;i)ways/kFactorial;// 除以 (groups-1)! (大小为k的组之间无序)ways/factorial[groups-1];returnways;}}// 生成所有解的数据结构vectorvectorstringallSolutions;string students;intN,K;voidgenerateSolutions(intidx,vectorstringcurrentGroups,vectorboolused,intcurrentGroupSize,intcurrentGroupStart){if(idxN){intsmallGroups0;for(constautogroup:currentGroups){if((int)group.size()K)smallGroups;}if(smallGroups1)allSolutions.push_back(currentGroups);return;}// 尝试加入当前组if(!currentGroups.empty()currentGroupSizeK){for(inticurrentGroupStart;iN;i){if(!used[i]){used[i]true;currentGroups.back().push_back(students[i]);generateSolutions(idx1,currentGroups,used,currentGroupSize1,i1);currentGroups.back().pop_back();used[i]false;}}}// 开始新组if((int)currentGroups.size()(NK-1)/K){for(inti0;iN;i){if(!used[i]){used[i]true;currentGroups.push_back(string(1,students[i]));generateSolutions(idx1,currentGroups,used,1,i1);currentGroups.pop_back();used[i]false;break;}}}}// 将int128转换为字符串stringint128ToString(int128 n){if(n0)return0;string result;boolnegativefalse;if(n0){negativetrue;n-n;}while(n0){resultchar(0(n%10))result;n/10;}if(negative)result-result;returnresult;}intmain(){precomputeFactorial();string query;while(cinquery){if(queryEND)break;intn,k;cinnk;if(queryCOUNT){int128 resultcountWays(n,k);coutint128ToString(result)endl;}elseif(queryGENERATE){Nn;Kk;students;for(inti0;in;i)studentschar(Ai);allSolutions.clear();vectorstringcurrentGroups;vectorboolused(n,false);// 开始第一个组if(n0){used[0]true;currentGroups.push_back(string(1,students[0]));generateSolutions(1,currentGroups,used,1,1);}else{allSolutions.push_back({});}// 排序解sort(allSolutions.begin(),allSolutions.end());// 输出数量coutallSolutions.size()endl;// 输出具体解for(constautosol:allSolutions){for(size_t i0;isol.size();i){if(i0)cout ;coutsol[i];}coutendl;}}}return0;}总结本题的核心在于数学推导正确推导分组计数的组合数学公式注意区分整除和非整除情况正确处理组间无序性大数处理使用__int128避免阶乘计算溢出回溯生成使用DFS\texttt{DFS}DFS生成所有解通过参数控制避免重复和保证排序规则排序实现严格按照题目要求的三种排序规则实现关键难点在于处理COUNT\texttt{COUNT}COUNT查询时的大数计算和GENERATE\texttt{GENERATE}GENERATE查询时的排序约束。 通过预计算阶乘、使用__int128类型和精心设计的回溯算法可以高效解决这两个问题。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发相关外文书籍百度制作公司网页

Lumafly模组管理器:重塑空洞骑士游戏体验的跨平台解决方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 作为空洞骑士玩家,你是否曾经…

张小明 2026/1/2 14:19:34 网站建设

营销型网站建设遨龙网页制作成品模板网站

PaddlePaddle边缘计算部署:Jetson设备上的实测性能分析 在智能制造工厂的质检流水线上,一台搭载Jetson Orin Nano的小型视觉盒子正以每秒5帧的速度扫描产品标签。它不仅要识别模糊印刷和反光背景下的文字,还要准确读取中文字符——这在过去往…

张小明 2026/1/2 13:31:38 网站建设

网站建站ddpui培训

GPT-SoVITS在自动驾驶语音交互中的场景化应用在智能座舱逐渐成为“第三生活空间”的今天,用户对车载语音助手的期待早已超越了“能听会说”的基础功能。人们希望它不只是一个冷冰冰的导航工具,而是像家人一样熟悉、像朋友一样亲切——能用父亲的声音提醒…

张小明 2026/1/3 6:33:42 网站建设

网站备案 网站名称wordpress的小程序

这几天小白好像更新没有了动力……也不知道小伙伴想看哪方面的教程,或者唠唠嗑?小白当初也是雄心壮志,一咬牙一跺脚,豪掷3000大洋,组了台梦想中的NAS!配置单亮出来,那叫一个技术宅的浪漫&#x…

张小明 2026/1/3 7:13:06 网站建设

网站上传的工具网站网络

AI伦理实践:LobeChat内置内容过滤机制解析 在大语言模型(LLM)加速落地的今天,AI生成内容的安全问题已从“可选项”变为“必答题”。无论是企业客服、教育助手还是私人知识库,用户与AI的每一次对话都潜藏着风险——不当…

张小明 2026/1/2 20:35:26 网站建设

问答网站开发免费建手机商城网站

### Java设计模式实战:从面向对象原则到架构设计的最佳实践 面向对象原则 面向对象编程是一种程序设计范式,它以对象作为基本单元,对对象进行抽象、封装、继承和多态等操作。面向对象编程有七大原则,即SOLID原则:单一职…

张小明 2026/1/8 0:27:36 网站建设