AcWing 338. 计数问题】的更多相关文章

#include <iostream> #include <algorithm> #include <vector> using namespace std; ; /* 001~abc-1, 999 abcxegf 1. num[i] < x, 0 2. num[i] == x, 0~efg 3. num[i] > x, 0~999 */ int get(vector<int> num, int l, int r) {//求前面这些位组成的数字是…
数论什么的全都忘光了吧QAQ 做了几道简单的题练习一下. bzoj1101: [POI2007]Zap 求有多少对数满足 gcd(x,y)=d, 1<=x<=a, 1<=y<=b 首先那个d肯定是要除下去的, 变成 gcd(x,y) = 1, 1<=x<=a, 1<=y<=b这样一个问题. 这样就变成了最经典的莫比乌斯反演, 设f(d)为 gcd(x,y) = d, 1<=x<=a, 1<=y<=b时满足要求的x,y的个数,F(d)…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 给定一个序列,a[1 ..k],问是否存在(i , j)使得 GCD(i , j + r - 1) = a[r]  (k>=r >=1),其中 i <= n && j + k - 1 <= m http://codeforces.com/contest/338/problem/D 首先容易知道row = lcm (a[…
承接上文,发现在使用Python C/C++ API扩展Python模块时,总要在各种各样的地方考虑到引用计数问题,稍不留神可能会导致扩展的模块存在内存泄漏.引用计数问题是C语言扩展Python模块最头疼的地方,需要由程序员对使用的每个C API都要充分了解,甚至要熟悉源码才能精确掌握什么时候引用计数加一,什么时候减一. 本文为翻译文章,我觉得对于源码中的引用计数讲解得比较清楚,所以就翻译为中文.http://edcjones.tripod.com/refcount.html# Summary:…
置换群.Burnside引理与等价类计数问题 标签: 置换群 Burnside引理 置换 说说我对置换的理解,其实就是把一个排列变成另外一个排列.简单来说就是一一映射.而置换群就是置换的集合. 比如\[ \left(\begin{array}1 1 & 2 & 3 & 4 & 5 \\ 5 & 3 & 4 & 2 & 1 \end{array}\right) \]是一个置换.也可以把置换看做定义域和值域都为{1,2,......,n}的函数,…
题目链接:https://www.acwing.com/problem/content/605/ 题目大意: 略 分析: 用dp[i][j]表示用j元钱能在前i只怪兽上所能贿赂到的最大武力值. 有一种情况就是打到第i只怪兽所需的最低花费大于j,那么令dp[i][j] = -1. 那么dp[i + 1][j],也就是同样用j元钱能在前i + 1只怪兽上所能贿赂到的最大武力值是多少呢?有3种情况: 1:dp[i][j] = -1,显然dp[i + 1][j] = -1. 2:dp[i][j] < d…
题目大意: Welcome to SAO ( Strange and Abnormal Online).这是一个 VR MMORPG, 含有 n 个关卡.但是,挑战不同关卡的顺序是一个很大的问题. 有 n – 1 个对于挑战关卡的限制,诸如第 i 个关卡必须在第 j 个关卡前挑战, 或者完成了第 k 个关卡才能挑战第 l 个关卡.并且,如果不考虑限制的方向性, 那么在这 n – 1 个限制的情况下,任何两个关卡都存在某种程度的关联性.即, 我们不能把所有关卡分成两个非空且不相交的子集,使得这两个…
http://codeforces.com/problemset/problem/338/D 题意: 有一张n*m的表格,其中第i行第j列的数为gcd(i,j) 给出k个数 问在这张表格中是否 有某一行中连续的某一部分 就是 这k个数 题意转化: 是否存在 一对i,j 满足gcd(i,j)=a1,gcd(i,j+1)=a2,…… gcd(i,j+k-1)=ak 直观上感觉: i要满足的必要条件是 i |  lcm(a1,a2……ak) j要满足的必要条件是 j= a1*k1,j+1=a2*k2……
OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中选出k个黑点的方案为C(n,k) 白点和黑点之间任意连边,方案为2^(k*(n-k)) 所以得到f(n)=sigma(C(n,k)*2^(k*(n-k)) 由于本题只需要求解一个f(n),枚举并计算就可以了 更高端一点的做法是这样的: 我们可以利用在<DAG计数问题 题解报告>中提到的技巧将n*k…
LOJ #6089. 小 Y 的背包计数问题 神仙题啊orz. 首先把数分成\(<=\sqrt n\)的和\(>\sqrt n\)的两部分. \(>\sqrt n\)的部分因为最多选\(\sqrt n\)个数,所以数量就没有卵用了.然后就用完全背包的一个常见套路(?)可以对一个空的序列整体+1或者在最左边加上一个\(\sqrt n+1\),这个操作序列和完全背包的选择方案一一对应.感性理解一下是对的emmmm,复杂度\(O(n\sqrt n)\) \(<=\sqrt n\)的部分只…