"题目链接" 我们首先要知道怎么来求A的约数之和。首先,把A分解质因数,可得:$A = q1^{k1}\times q2^{k2} ... \times \ qn^{kn}$ 然后我们用乘法的分配律可得A的因数之和为$F(A) = (q1^0 + q1^1 + ... + q1^{k1}) \tim ...
又是一个典型的背包.注意贪心思路:如果你要做这辆车,你就坐满他. $i,j$分别存坐上去的人总人数和现在的时间$,dp[i][j]$ 统计来到这个状态的最小钱数 为啥要开2 n?因为有时候搭车人数会超过n.我们可以严格限制在n里~~但是我懒~~,于是就开大一点保证无错 ...
分类:
其他好文 时间:
2020-03-21 09:49:53
阅读次数:
78
C: 全排列问题 描述 生成一个1..N的全排列. 输入 第一行包括一个数字 n 小于 9 输出 按字典序输出1...N的所有全排列. 样例 输入: 3 输出: 123 132 213 231 312 321(a,b,c) 状态转移方程为: A(n, n)=A(n,1)(组合+)A(n-1,1).. ...
分类:
其他好文 时间:
2020-03-20 09:22:56
阅读次数:
84
非常经典的最小割模型. code: #include <bits/stdc++.h> #define N 3006 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const l ...
分类:
其他好文 时间:
2020-03-19 21:21:21
阅读次数:
48
$Solution$ 发现之前代码的样式时常会出现不同颜色很不协调的东东,,,然后,发现原来是代码那一栏没打 cpp。(笑) 言归正传,感觉这道数位 DP 非常神奇。我们考虑到其实各个数位之和比较小,可以直接枚举。 这样就解决了一个重要的问题:我们的“数”范围太大,状态装不下。(不过注意要保证解的各 ...
分类:
其他好文 时间:
2020-03-19 17:49:21
阅读次数:
63
不要随意用memset对C++复杂对象进行数据清除 它会 转换值 ch 为 unsigned char 并复制它到 dest 所指向对象的首 count 个字节。 因此 方法会破坏对象内部保持状态的私有变量,从而造成未知后果。 示例 下例对 对象 进行了 memset操作,结果再次给对象 赋值时, ...
分类:
编程语言 时间:
2020-03-19 15:13:29
阅读次数:
80
题目:传送门 题意:在一个 4 * n 的矩阵里,有 k 辆车,一开始所有的车都在第二和第三行,第一和第四行是车位,你一秒钟只能移动一辆车一步,问你有没有可能在 20000 秒内,将所有的车停到对应的车位上。 n <= 50, k <= 2n 思路: 我们首先将那些车位就在眼前的车,停进去,这时只要 ...
分类:
其他好文 时间:
2020-03-19 13:50:40
阅读次数:
50
P1541 考虑 $DP$ 首先考虑 $DP$ 的状态表示:$dp[a][b][c][d]$ 表示 走 $1$ 格还剩 $a$ 个,走 $2$ 格还剩 $b$ 个,走 $3$ 格还剩 $c$ 个,走 $4$ 个还剩 $d$ 个最大的权值和。 那么在当前状态下在还能走的情况下可以走一格,两格,三格,四 ...
分类:
其他好文 时间:
2020-03-18 23:30:17
阅读次数:
64
A. Cow and Haybales 题意: 有n堆草,每堆为ai,每分钟一次可以移动1个草从x到x 1或x+1。求在d分钟内,可以将第一堆的a1最大增加到多少。 思路: 从右2,3..依次枚举,要考虑距离以及是移动的最后一堆能移多少 代码: cpp include using namespace ...
分类:
其他好文 时间:
2020-03-18 15:18:40
阅读次数:
65
定义变量时往往要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。 PS:当然,也有个别例外的。比如strtol函数中的第二个参数,对于这个参数,我们只需要定义一个字符指针变量,并且不需要赋初值,然后将字符指针的 ...
分类:
其他好文 时间:
2020-03-18 11:19:48
阅读次数:
81