比如select gid from table group by gid 查询时使用下面的方法查询条数 select count(distinct gid) from table 使用select count(gid) from table group by gid是错误的 这样查询的是分组后 每个组内部的条数
题目链接:https://ac.nowcoder.com/acm/contest/249/B 题目大意: 略 分析1(记忆化搜索): 方法为减而治之,把n划分成k份的答案就相当于每次把n分成a,b两个数,再把a分成k-1份,然后把每次a分成k-1份的答案相加即可.注意点是每轮分出来的b要不大于上一轮分出来的b. 代码如下: #include <bits/stdc++.h> using namespace std; #define rep(i,n) for (int i = 0; i <
OJ题号:洛谷1005 思路: 动态规划. 不难发现每行能够取得的最大值仅与当前行的数据有关,因此本题可以对每行的数据分别DP,最后求和. 设$f_{i,j}$表示左边取$i$个.右边取$j$个的最大值,则DP方程为$f_{i,j}=max(f_{i-1,j}+a_{i-1}*2^{i+j},f_{i,j-1}+a_{m-j}*2^{i+j})$. 然而数据规模较大,使用 int 只有40分,用 unsigned long long 只有60分.所以需要高精度,不过实现起来并不复杂. 另外有一些