acm
Neliy_
这个作者很懒,什么都没留下…
展开
-
HDU1716
用next_permutation()没什么困难的,困难的是对于输出格式有要求。1每一行中间空格,每一个样例中间空行(意味着每一行最好不需要加空格,每一个样例最后不需要加行)对于这种中间空行空格的输出格式,我设置flag判断是否是第一个,第一个“%d",后面都是” %d"。这样每一个输出不会影响下一个输出。中间加行同上(注意第一个为“%d\n",后面为”%d\n\n" 至少有一个换行符。...原创 2019-11-05 19:45:38 · 100 阅读 · 0 评论 -
HDU6114
这道题本质是求C(n,m)组合数。(n>m)行行列列互斥,所以只能放n个‘车’一行一个车,又因为规定只能左上右下,所以。。。求组合数模板Com(n, m) (n>m)#include <bits/stdc++.h>using namespace std;////Combinatorial number model//////////////////////////...原创 2019-01-25 15:41:03 · 93 阅读 · 0 评论 -
HDU3366Coprime 二分法+容斥原理
HDU题目链接题意求第k个与n,m都互素的正数(0 &amp;lt; m, n, k &amp;lt;= 10^9)题解使用二分法查找元素二分0~(1LL&amp;lt;&amp;lt;maxn),找到x满足[1,x]中只有k个与n,m互素的数。即将 “ 求第k个与n,m都互素的正数 &quot; 转化为&quot; 求[1,x]中与n,m的互素个数 ”。求[1,x]中与n,m的互素个数用容斥原理求原创 2019-01-26 15:35:18 · 188 阅读 · 1 评论 -
HDU2204Eddy's爱好 数论,容斥原理
HDU原题题意给你一个正整数N,确定在1到N之间有多少个可以表示成M^K(K&amp;gt;1) 的数。本题有多组测试数据,每组包含一个整数N,1&amp;lt;=N&amp;lt;=1000000000000000000(10^18).分析可以从M,K入手遍历.如果从M遍历再算K次方值,由于数据过大会超时。所以,从K遍历。K = 2时, M^2, 在[1,N]之内的M数有 floor( N^(1/2) )-1...原创 2019-01-26 17:03:51 · 140 阅读 · 0 评论 -
HDU2079选课时间 普通母函数
HDU原题题意a学分课有b门,凑成n学分有多少种组合方式。分析本质上和,a kg砝码有b个,凑成n kg有多少种组合方式一样。用普通母函数求解。普通母函数原理a kg 砝码 b个:(1+x^a + x^2a + … … +x^b*a)母函数:遍历1-a,累乘上面公式,x^n系数即为凑成n kg组合方式个数。例子: 例1:若有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量...原创 2019-01-27 11:46:17 · 158 阅读 · 0 评论 -
HD1521排列组合-指数母函数
HDU 原题注意点指数母函数和普通母函数差别不是仅仅是每一项*1.0/fac[n]c1[]c2[]要改为double型输出格式为printf(" %.0lf\n ", fac[m]*c1[m]);AC代码#include <bits/stdc++.h>using namespace std;int fac[12];void initfac(){ fac[...原创 2019-01-28 09:11:35 · 108 阅读 · 0 评论