题目 最大划分乘积 题解 这道题用到一点导数和数论的知识,很容易看出这道题是求函数 \[f(x)=(\frac{n}{x})^{x} \] ( \(x\) 为正整数)的最大值.我们可以对 \(ln(f(x))\) 进行求导,求出 \(ln(f(x))\) 的最大值. \[ln(f(x))=x(lnn-lnx) \] \[(ln(f(x)))'=lnn-lnx-1 \] \(ln(f(x))\) 的最大值必然在 \(\lfloor \frac{n}{x} \rfloor\) 和 \(\lceil…
传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什么意思? [答]: 后面的 mod 3 表示:相对于 的模,即用 来除,得到相应的余数 举例来说,+3m=(mod3),+3m 用 来除 的余数是 即 x=m*a+n*b (1≤m≤b−1) 显然当n≥0 时 x 可以用 a,b 表示出来,不合题意. 因此当 n = -1 时 x 取得最大值,此时 x=m…
题目大意:给定 N 个点,M 条边的有向图,边有边权,求从 1 号顶点到 N 号顶点的最短乘积路径.(经过的路径乘积最小)结果对9987取模. 乘积会爆 long long ,同时由于 dij 算法的性质,又不能在 bfs 的过程中对答案取模. 同时,根据对数的性质有 \(log(x)+log(y)=log(xy)\),因此,可以采用将边权取对数存入邻接表中,dij 比较的时候用这个取对数之后的边权比较,并记录路径,最后按照路径还原统一处理答案. 代码如下 #include <bits/stdc…
前言 \(csp\)时发现自己做过类似这道题的题目 : P4954 [USACO09Open] Tower of Hay 干草塔 然后回忆了差不多\(15min\)才想出来... 然后就敲了\(88pts\)的部分分.当时的内存是\(950MB\)左右,写一个高精就炸内存了. 题目 2048 年,第三十届 CSP 认证的考场上,作为选手的小明打开了第一题.这个题的样例有 \(n\) 组数据,数据从 \(1 \sim n\) 编号,\(i\) 号数据的规模为 \(a_i\). 小明对该题设计出了一…
传送门 毒瘤出题人卡精度-- 思路 看到森林里加边删边,容易想到LCT. 然而LCT上似乎很难实现往一条链里代一个数进去求和,怎么办呢? 善良的出题人在下方给了提示:把奇怪的函数泰勒展开搞成多项式,就很好维护了. 注意到数都很小,精度问题不会太大(那你还被卡),可以直接在\(0\)处泰勒展开更为方便. 然后就做完啦~ 代码 要开O2才能过QwQ #include<bits/stdc++.h> namespace my_std{ using namespace std; #define pii…
传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.com.cn/s/blog_b046a49001015zun.html#page=1 题解: 两个互素的正整数a,b的非负线性组合ax+by不能表示的最大整数为 a*b-a-b; 证明: 例如a=5,b=6,则不能表示的最大整数为19,换言之所有大于19的整数都可以表示成ax+by,其中x,y为非负整…
题意 题目链接 Sol 充满套路的数学题.. 如果你学过莫比乌斯反演的话不难得到两个等式 \[gcd(\frac{x}{a_1}, \frac{a_0}{a_1}) = 1\] \[gcd(\frac{b_1}{b_0}, \frac{b_1}{x}) = 1\] 然后枚举\(b_1\)的约数就做完了.. // luogu-judger-enable-o2 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define LL long lon…
题目 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. 输入格式 输入一行,包含两个空格分隔的正整数m和n. 输出格式 输出一个正整数,为所求三角形数量. 输入样例 2 2 输出样例 76 数据范围 1<=m,n<=1000 题解 比较容易想到的是用所有方案\(C_{n*m}^{3}\)减去共线的方案 水平和竖直共线很容易算,为\(n * C_{m}^{3}\)和\(m * C_{n}^{3}\) 主要是倾斜的线 我们…
题目:https://www.luogu.org/problemnew/show/P2822 阶乘太大,算不了: 但 k 只有 8 个质因子嘛,暴力60分: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; ]={,,,,,,,},num[],tp[],pk[],tp2[],tt[]; void gt(int x,i…
嗯... 题目链接:https://www.luogu.org/problem/P2239 这道题首先不能暴力建图,没有简单方法,只有进行进行找规律. AC代码: #include<cstdio> #include<iostream> using namespace std; inline int work(int n, int x, int y){ ) return y; ; * n - - y; ) * n - - x; , x - , y - ) + * (n - ); }…