
victor的数学(技巧)专练
收集各种数学(技巧)的题目
少侠,慢点走
与其在失败后后悔,不如在失败前成功
展开
-
B. Ternary Logic(三进制)
time limit per test 2 secondsmemory limit per test 256 megabytesinput standard inputoutput standard outputLittle Petya very much likes computers. Recently he has received a new “Ternatron IV” as a...原创 2019-05-31 00:35:18 · 538 阅读 · 0 评论 -
894C - Marco and GCD Sequence(构造gcd)
894C - Marco and GCD Sequence(构造gcd)原创 2019-05-30 17:29:51 · 463 阅读 · 0 评论 -
C. Colorful Bricks (组合数学/dp)
给你n个方格排成一行,有m种颜色,然后要把这n个方格分成k+1段,每段涂不同的颜色,问有多少种方法。排列组合问题,首先要在n-1个位置里面选出k个位置当作段与段的分割点,然后每段涂的时候有m*(m-1)^k种,二者相乘即使答案。要注意的是计算组合数的时候也要取mod,因为组合数的增加也是很快的。还有要上快速幂计算所以C(n-1,k)m(m-1)^k。注意取模。#include<cs...原创 2019-05-29 20:13:29 · 339 阅读 · 0 评论 -
1034A - Enlarge GCD(div1)数论,线性筛的运用
题意:给出n个数字,求最少删除几个可以使剩下的数字的GCD大于n个数字的GCD。思路:求出最多的公共因子,去掉没有这个因子的数,剩下的数的GCD大于原来的GCD。题解:随便说说吧,要使GCD变大,那么尽可能使数中的互质数变少,那么问题解答变显而易见了,只要找到最多的公共因子,那么其他数没有就去掉,那么便是最大。线性筛的运用#include<bits/stdc++.h>usin...原创 2019-05-29 02:18:12 · 192 阅读 · 0 评论 -
1037A - Packets(二进制)
题意:给出一个数n,问最少多少个数可以组成从1到n的所有数。题解:显而易见,把问题转化成二进制问题就可以极大的解决这个问题,倍增思想,那么显然需要最多的数就是2^n-1, 问题变转换成求大于x且2^n-1需要最多的那个n即可#include<cstdio>#include<cmath>#include<iostream>using namespace ...原创 2019-05-28 18:02:17 · 264 阅读 · 0 评论 -
Masha and two friends(容斥+矩阵面积并)(矩形切割)
题意:题目很长,但是其实题意非常简单,首先是给定一个n*m的方格,然后黑白相间,其中左下角是白色。然后有两个人爱涂色,然后A先涂色把他所选中的地方涂成白色,然后B把他选中的地方涂成黑色。然后问最后的情况白色格子有多少,黑色格子有多少?题解:前提工作:设置一个函数,只要知道左下角的位置是黑色还是白色,然后知道这个选中的方格的大小,然后就可以算出里面的黑格和白格算出来。然后进行容斥:定义...原创 2019-05-26 11:55:09 · 357 阅读 · 0 评论 -
1065B - Vasya and Isolated Vertices(图论/思维)(公式)
Description求一个N个点M条边的无向图,点度为 0 的点最多和最少的数量。N≤105,M≤N×(N−1)2Solution关于最少的数量,注意到一条边会增加两个点度,所以最多能带来 2M 个点度,最少的零点度点数就是 max(N−2M,0)。关于最多的数量,要知道 N 个点的完全图边数是 N×(N−1)2 。然后就可以二分上界是什么了。可以打表递推,也可以直接利用完全图的性质...原创 2019-05-25 15:04:08 · 355 阅读 · 0 评论 -
1064B - Equations of Mathematical Magic(数学)
首先:不要直接输出pow()的值,会有bug题目大意就是解一个方程:a−(a⊕x)−x=0 (a已知)解题思路a−(a⊕x)−x=0 <> a−(a^x)−x=0 <> x^a = x-a如果运算符 ‘^’与 ‘-’起到相同的效果的话就是一个解分析四种比较;1^1=0 1-1=01^0=1 1-0=10^0=0 0-0=0,0^1=1 0-1=-1当...原创 2019-05-24 13:40:00 · 230 阅读 · 0 评论 -
B - Div Times Mod-函数最值(数学)
B - Div Times Mod题意:给出n,k 求 一个 使等式成立的最小正整数x思路 : 令(x%k) = a 则 原式变为 (x-a)/k * a = n 这里 a∈ (1,k)并且为n的因子解出x来得到 x= nk / a + a 求最小值即可。即 在a的定义域内找一个最靠近 sqrt (nk)就是最小值。#include<bits/stdc++.h>...转载 2019-05-23 23:54:59 · 304 阅读 · 0 评论 -
1091D - New Year and the Permutation Concatenation(打表找规律/数学)思维
Soluton one:解题思路:打表可发现:3——————94——————565——————3956——————3084(因为连起来的排列组合的sum一定是n*(n-1)/2,所以)3——————9=3!+3=3!+1*34——————56=4!+32=4!+4*85——————395=5!+275=5!+5*556——————3084=6!+2364=6!+6*394n...原创 2019-05-23 21:02:34 · 234 阅读 · 0 评论 -
Good Bye 2018 C. New Year and the Sphere Transmission(思维)(数学)
题目出现环,数学问题可先考虑因子输入一个数n,k的范围是1-n,然后看第一个样例的图,就是遍历这个长度为n的环,升序输出k从1到n的所遍历的点的和的所有值。这道题就是找规律,可以发现当k等于1的时候是所有值的和,当k等于2的时候是1,3,5,7…的差值为2的等差数列的和,所以这道题就换成了求差值为1-n的等差数列的和,这里只需要求n的因子就好了,不然会有重复计算。做法就是先将n的所有因子存起...原创 2019-05-23 11:28:31 · 173 阅读 · 0 评论 -
1068B - LCM(数学)
这道题的意思就是让你求从a到很大一个数的lcm([a,b])/a有多少个不一样的值,然后你的用数论的知识lcm([a,b])/a=b/gcd(a,b);也就是让你求b的因子个数。#include<stdio.h>#include<string.h>#include<queue>#include<math.h>#include<alg...原创 2019-05-23 00:22:15 · 937 阅读 · 0 评论 -
1095C - Powers Of Two(二进制)
一些基础的二进制#include<bits/stdc++.h>using namespace std;int n ,k , a[105], tot, sum ;int main(){ cin >> n >> k; int x = n; while(x){ a[++tot] = x&1; ...原创 2019-05-22 23:11:00 · 325 阅读 · 0 评论 -
1096C - Polygon for the Angle-几何-性质
思路:根 据 几 何 性 质 , 正 多 边 形 所 有 三 个 点组成的 角 都 是最小角的倍数, 然后根据内角公式 可以求出 正多边形最小角为 多边形内角 / (n - 2) 然后 打表发现 180边形最小角为1 最大角 178 所以 只有 179无法组成,然后继续往后打表 发现 360边形 可以 组成 179。所以 打好最大最下角的表 然后每次暴力查询 最小的 多边形即...原创 2019-05-22 20:40:21 · 207 阅读 · 0 评论