上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 75 下一页
摘要: 原题链接 考察:二分+思维 思路: 杨辉三角有一半重复,所以我们只需要看一半.可以发现每条红线遍历处都是由内向外递增,中间红线是${i \choose 2i}\(,是每一个斜线的开头.n一定在某一条斜线上,我们可以枚举斜线再二分找位置.这里斜线最多16条(\){17 \choose 34}>10^9 阅读全文
posted @ 2021-06-04 01:56 acmloser 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:背包dp yxc:没做出来本题的反思自己有没有认真听基础课 我:菜狗不配() 思路: dfs写的,当时觉得铁TLE,但是没有想到别的做法(.) f[i][j]表示前i个物品重量为j是否能实现. dp方程: f[i][j] = f[i-1][j] f[i][j] = f[i-1][j+ 阅读全文
posted @ 2021-06-04 00:00 acmloser 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:费马小定理 思路: 指数对1000000007-1取余,模板题我WA了n次. 讲讲坑点:开long long,N>=1不代表指数-1一定>=0,存在%(M-1)-1<0的情况 ##Code #include <iostream> #include <cstring> using na 阅读全文
posted @ 2021-06-03 21:54 acmloser 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:欧拉定理 思路: 已知每个8888...888都可以被表示成: \(nums = \frac {8\times(10^x-1)}{9}\) $$ nums \equiv 0 \pmod L$$ $$ (10^x-1)% \frac{9\times L}{gcd(8,L)}==0$$ 阅读全文
posted @ 2021-06-03 10:24 acmloser 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:思维 思路: 每个操作都与c无关,且只+-2个a,b.也就是说这是不改变a,b个数的奇偶性的.因此操作与c无关,所以将每个c分割看成一段,比较奇偶性. 本蒟蒻是纯暴力打法,比较简单的代码就是利用异或了. ##Code #include <iostream> #include <cst 阅读全文
posted @ 2021-06-02 15:46 acmloser 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:贪心+思维 思路: 说是D题,思路比C题明显,很明显经过次数最多的边赋最大的值,虽然是构造但思路非常明显. 难点是怎么计算经过每条边的次数(本蒟蒻就卡这了菜是原罪),经过查看题解观察可得对于一条边(u,v),有sz[v](v点以及v的子节点)个点会经过v到达u或者u以上的点,两两配对 阅读全文
posted @ 2021-06-02 14:08 acmloser 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:思维 这题也是sb,分析出了只要有存在路径使得所有gcd(x,y)==min的可达,就可以任意交换,然后思路岔到欧拉函数去了(.) 思路: 如上文,任何min的倍数与min gcd都 = min,所以min可以使得倍数之间任意交换.我们检查每个数,如果不是倍数且不在应该的位置上就"N 阅读全文
posted @ 2021-06-02 02:19 acmloser 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:贪心(?) 我是sb,A题想半天还是错的(.) 思路: \(x_b-(x_a-x_b) = k\) \(2*x_b-x_a = k\) 由此发现只要k+xa%2==1就需要移动.此时xa可以通过左移右移来使k+xa为偶数. 从这里开始根本不需要解不等式!直接讨论$x_a$与k: \( 阅读全文
posted @ 2021-06-02 02:13 acmloser 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:约数 推到一点感觉完全没规律就没继续了,没想到操作如此之骚... 思路: \(\frac 1x+\frac1y=\frac1{n!}\) \(\frac {x+y}{xy}=\frac1{n!}\) 因为有两个变量,而我们用控制变量法才好求个数,因此我们最好用x(y)表示y(x). 阅读全文
posted @ 2021-06-01 20:44 acmloser 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:约数 这题很久以前做过一次,但我没写博客,结果再来一次我还是不会(.) 错误思路: 倍数法求每个a[i]的倍数,基本代码如下: for(int i=1;i<=n;i++) { scanf("%d",&a[i]); for(int j=1;j<=M/a[i];j++) sum[j*a[ 阅读全文
posted @ 2021-06-01 17:54 acmloser 阅读(46) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 75 下一页