随笔分类 -  数学

上一页 1 2 3 4 5 6 7 ··· 15 下一页
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 k%i=k (k/i) i 则∑k%i = n k ∑(k/i) i 因为k/i是整除运算。 所以会有某一段连续的i,它们的k/i的值都是相同的 那么 这一段连续的i用等差数列求和公式O(1)搞一下就好。 (然后i可以直接跳到上 阅读全文
posted @ 2018-03-20 10:10 AWCXV 阅读(147) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 设fi表示深度为i的树个数,si是fi的前缀和,即si为深度不超过i树的个数。 那么si=s[i 1]^n + 1 就是说 先选一个节点作为根节点 然后选n个深度不超过i 1的树接在根节点下面。 这n个子树每个子树都有s[i 1 阅读全文
posted @ 2018-03-15 15:21 AWCXV 阅读(121) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 思路来自hzwer.. 设xi表示第i个人往左传递了xi个糖果。 (如果小于0表示旁边的人给他了糖果。 则ans=∑|xi| 最后所有人的糖果数都变成sum/n avg 则 a1 x1+x2 = avg a2 x2+x3= av 阅读全文
posted @ 2018-03-07 10:39 AWCXV 阅读(141) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 设$设f(x)=a_d x^{d}+a_{d 1} x^{d 1}+...+a_1 x+a_0$ 用它去除x+k 用多项式除法除一下就好。 会发现余数等于 $∑_0^{d}( k)^{i} a_i$ 这是一个十进制数转成负k进制 阅读全文
posted @ 2018-02-16 10:54 AWCXV 阅读(137) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 最后的直角三角形可以通过平移,将直角顶点移动到坐标原点。 然后我们只要枚举另外两个点其中一个点的坐标就好了。 x坐标的范围是[1..a) 因为再长的话,这条边肯定就超过边长a了。 然后用一些相似三角形的规律就能知道另外一个点的坐 阅读全文
posted @ 2018-02-14 11:19 AWCXV 阅读(107) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 a1+a2+...+aka1a2=0 且a[j] =0 那么按a[i]+1,a[i]+2..顺序递增代替问号就好 a[i]0的话,就从0的两边交替选数字就好,取出0两边交替的数字的最小值$ \frac{(i j 1)}{2}$, 阅读全文
posted @ 2018-02-13 17:25 AWCXV 阅读(161) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 看看有没有(n 2) 180/n等于输入的a就好。 【代码】 cpp include using namespace std; int main() { int T; cin T; while (T ){ int a; cin 阅读全文
posted @ 2018-02-02 11:18 AWCXV 阅读(152) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 考虑l..r这个区间。 且r是满足a[r] a[l]r的话累加C(R (l+1)+1,3); 如果l+1 【代码】 cpp include define ll long long using namespace std; con 阅读全文
posted @ 2018-02-01 11:45 AWCXV 阅读(143) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 m比较小 多重背包。 但每个物品的数量可能很多。 所以加一个二进制优化就好了。 把每个物品的数量转化成二进制。 转换成01背包的问题。 (物品的数目大概在1000 log2(1e6)的样子 然后容量是1000. 这时候就可以做了 阅读全文
posted @ 2018-01-29 11:41 AWCXV 阅读(139) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 题目的图吓人。 找下规律就会发现从内到外是1,6,12,18 即1,1 6,2 6,3 6... 即1+6 (1+2+3+...) 等差求和公式。 【代码】 cpp include define ll long long usi 阅读全文
posted @ 2018-01-27 12:26 AWCXV 阅读(131) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 记录每个数字出现的次数cnt[x]; (大于1e6的直接忽略) 另外用一个数组z[1e6] 然后for枚举x 第二层for枚举x的倍数(倍数不超过m) 即for (int i = x;i 【代码】 cpp include usi 阅读全文
posted @ 2018-01-22 14:10 AWCXV 阅读(122) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 会发现。 进行一次操作过后。 得到的数字肯定是 【代码】 cpp include define ll long long using namespace std; const int N = 1e3; const ll MOD 阅读全文
posted @ 2018-01-21 04:11 AWCXV 阅读(231) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 证明:前i个数一定能凑够1..sum[i]中的所有数字 i=1时显然成立。 现在假设i =2时结论成立 即前i个数字能凑出1..sum[i] 令k=i+1; 现在证明前i+1个数字能凑出1..sum[i+1] 即用前i个数字和数 阅读全文
posted @ 2018-01-10 15:57 AWCXV 阅读(140) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 当a=1e8的时候,直接输出m就可以了 【代码】 cpp include define ll long long using namespace std; ll n,m; int main(){ ifdef LOCAL_DEFI 阅读全文
posted @ 2018-01-09 09:49 AWCXV 阅读(131) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 枚举最大量maxdep 在dfs里面传剩余的要凑的分子、分母 以及上一次枚举的值是多少。 然后找到最小的k,满足1/k剪枝就是剩余的全都用这个最大的分数。如果都不行就肯定不行了。 二分找这个k. 不能用的数字就直 阅读全文
posted @ 2017-12-31 22:08 AWCXV 阅读(193) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举前i 1个圆。 哪些圆和它相交。 取圆心纵坐标最大的那个圆就可以了。 【代码】 cpp include using namespace std; const int N = 1e3; vector now; int a[N+ 阅读全文
posted @ 2017-12-30 10:54 AWCXV 阅读(196) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 排列中交换任意两个数字。 排列的逆序对个数的奇偶性会发生变化。 翻转这个过程其实就是len/2对数字发生交换。 交换了偶数次的话,不变,否则奇偶性发生改变。 先暴力求出一开始的逆序对个数就好 【代码】 阅读全文
posted @ 2017-12-29 11:22 AWCXV 阅读(165) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 让N乘2 a 然后看一下位数是多少。 假设有x位(x =2) 则(0..(a%10 1) ) + (99..9)[x 1个]都是合法的 转化为1..N里面有多少对,它们的和为x x总是为奇数 若x 1n 则让temp = x n 阅读全文
posted @ 2017-12-17 18:12 AWCXV 阅读(205) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 借鉴网上的题解的。 思路是。 用"标准化"的思想。 确定基准点(0,0) 然后假设(0,0)是第一个连通块。 然后通过大小为1的连通块(0,0)得到所有大小为2的连通块。 然后得到所有大小为3的连通块。。 以此类推 这样可以避免 阅读全文
posted @ 2017-12-16 17:47 AWCXV 阅读(199) 评论(0) 推荐(0)
摘要:| 【链接】 "我是链接,点我呀:)" 【题意】 给你一个n m矩阵,让你在里面填数字. 使得每一行的数字的乘积都为k; 且每一列的数字的乘积都为k; k只能为1或 1 【题解】 显然每个位置只能填1或 1 如果只考虑前n 1行和前m 1列。 那么我们对这(n 1) (m 1)的范围。 先任意填入数 阅读全文
posted @ 2017-11-24 11:10 AWCXV 阅读(182) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 15 下一页