51nod
文章平均质量分 72
cillyb
这个作者很懒,什么都没留下…
展开
-
51nod - 1289 大鱼吃小鱼(栈)
思路: 向左走的可能会被向右走的吃,向右走的可能被向左的吃。 栈中存向右的小鱼。 如果当前鱼向左,则依次与栈顶鱼比较大小,如果能吃光则能存活;如果当前鱼向右,则加入栈。 最后栈中鱼的数量加上向左走存活的数量就是所有能存活的。 #include #include #include using namespace std; int main(void) { int n, a,原创 2017-02-06 12:01:24 · 996 阅读 · 0 评论 -
51nod - 1305 Pairwise Sum and Divide
思路: Floor((A[i]+A[j])/(A[i]*A[j])) 可知A[i], A[j]只有在两个都为2或者至少有一个是1的时候这个值才不为0,即A[i], A[j]分别为1 1时贡献为2;2 2时贡献为1; 1 x, x 1时贡献为1;其他都为0;所以统计1和2的数量即可。 #include #include #include using namespace std; cons原创 2017-02-06 00:08:09 · 397 阅读 · 0 评论 -
51nod - 1284 2 3 5 7的倍数(容斥)
同hdoj 1796 点击打开链接 #include #include #include using namespace std; typedef long long ll; ll a[4] = {2, 3, 5, 7}; ll n, ans; void dfs(ll cur, ll lcm, ll id) { lcm = a[cur]/__gcd(a[cur], lcm)*l原创 2017-02-06 13:16:29 · 553 阅读 · 0 评论 -
51nod 1009 数字1的数量(数位dp)
给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。 Input 输入N(1 Output 输出包含1的个数 Input示例 12 Output示例 5 转:点击打开链接 一道基础的数位原创 2017-02-20 21:23:05 · 832 阅读 · 0 评论 -
51nod 1495中国好区间 && qduoj78 阿尔法狗的难题 (尺取法)
51nod 1495:点击打开链接 qduoj 78:点击打开链接 官方题解: 对于一个数,我们只需要知道它与T的相对大小关系,因此题目可以转化为求存在多少区间大于等于k。 假如固定左端点,那么对于一个好区间,那么右端点一定是连续的,若左端点向右移动,那么最近右端点不可能向左移动。因此可以使用双指针来做这题。 代码: #include #include #i原创 2017-03-17 12:02:34 · 577 阅读 · 0 评论