数学相关
左佥都御史
这个作者很懒,什么都没留下…
展开
-
P3758可乐
https://www.luogu.com.cn/problem/P3758两种思路:①考虑邻接矩阵的幂对于图的意义。矩阵乘法定义如下ai,j=ai,k∗ak,ja_{i,j}=a_{i,k}*a_{k,j}ai,j=ai,k∗ak,j。所以矩阵的2次幂 就相当于此矩阵在2秒后的移动状态。②分层图dp(这个我还不咋会),然后那个转移方程可以用矩阵乘法来加速运算,从而达到优化。那个矩阵...原创 2020-03-26 18:10:31 · 163 阅读 · 0 评论 -
hdu4112-规律&二进制- Break the Chocolate
https://vjudge.net/contest/188211#problem/B 给定一块大小为m*n*k的巧克力 有两种方式:① 用手掰,可以把一块变成两块,两块为任意大小。 ② 用刀切,可以把他们叠起来切。假设刀无限长,且切割厚度没有限制。 思路:wa了四发,开始看样例了猜了一个,后来想到用刀切是可以叠起来切的。并不是(m-1)+(n-1)+(k-1)。 于是就用二进制算了一下。原创 2017-10-03 18:07:10 · 234 阅读 · 0 评论 -
51nod1632-推公式&快速幂-B君的连通
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1632 应该想一想他后面为什么要成pow(2,i-1)。 写一下期望公式。 就是推一下公式,然后打一个表找一下规律就行了,因为每炸毁一条边就多一个连通图,所以就根据这个推出公式,因为选一条边的概率是 1/2:然后进行操作的概率就是 (1/2)^n−1),然后再乘以 2原创 2017-10-27 18:45:11 · 498 阅读 · 0 评论 -
51nod1536-素数&猜测-不一样的猜数游戏
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1536 这种题,可以大胆猜测一波。 首先,合数不需要问,因为合数是很多质数相乘得到的,所以最小的问数,就要问质数。而一个质数的许多倍数,通过一个指数也是无法得到的。所以需要问一下。#include <bits/stdc++.h>using namespace std;原创 2017-10-27 21:35:35 · 208 阅读 · 0 评论 -
51nod1548-枚举&技巧&数学证明-欧姆诺姆和糖果
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1548 开始搜了一下,wa了一半a了一半,得不到正确的结果。我是每次尽可能的拿比例大的,但是结果不一定,可能比例大的并不一定拿的尽可能的多。。 比例的意思是 价值比重量 证明,较少的糖果的数目一定小于sqrt(c)的就行(只是说取的数目,没说比例大小)。 证明如原创 2017-10-28 15:23:24 · 390 阅读 · 0 评论 -
Codeforces Round #432 -思维&素数筛魔改-D-Arpa and a list of numbers
http://codeforces.com/contest/851/problem/D 给定你m个数字,要求你有两种改动。结果是这些数字的gcd不是1. 改动① 删除这个数字,代价为x 改动② 增加1, 代价为y 要求你输出最少的改动花费。 枚举素数。然后求 是增加费用高还是 删除费用高。#include <bits/stdc++.h>using namespace std;typed原创 2017-10-20 18:54:59 · 203 阅读 · 0 评论 -
51nod1013-快速幂&逆元-3的幂的和
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1013 根据等比数列求和,然后再求一下逆元。 求逆元的过程是因为在计算的过程中会取模,我们放到最后再取模是错误的,所以要取逆元。 而对2模mod的逆元可以手算出来。 因为费马小定理。#include <bits/stdc++.h>using namespace s原创 2017-10-23 20:10:54 · 203 阅读 · 0 评论 -
hdu5969-贪心&思维&证明-最大的异或
https://vjudge.net/contest/197375#problem/I 中文题意。 我觉得最大的问题,就是以后如果要猜测算法的话,最好是给的样例都能一次性过掉,如果有几组没过自己xjb改肯定很多都是错的。。但是像这一道题过了好几个,只最后一个没过,应该就是和正确的算法有点接近的了。要好好想一下,推一下他的规律,贪心的或者数学的,而不能无脑的上,毕竟对于我们的目标来说,不必要的罚时原创 2017-11-09 19:31:19 · 196 阅读 · 0 评论 -
51nod1596-二进制&输入挂-搬货物
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1596 思路是很好想的,关键是被输入卡住。 还以为O(N)的都不行呢。。 模拟二进制,合并一次,那么那个数就可以和别人一起放,那么就可以减去一次。就酱#include <bits/stdc++.h>using namespace std;const int max原创 2017-10-26 21:28:54 · 227 阅读 · 0 评论 -
hdu6237-2017哈尔滨CCPC-质因子&贪心&暴力-A Simple Stone Game
http://acm.hdu.edu.cn/showproblem.php?pid=6237 当我们枚举素因子的时候, 我们统计mod的和。sumb 并且对mod的结果搞一个b数组。 然后队友的思路是直接分为两半,然后左边那一半小的往右边那一半靠。 以下疑问: ①可能转移的时候中介线并不是一半。。 因为我们怎么确定b数组在范围内是线性的分布?原创 2017-11-15 12:46:59 · 742 阅读 · 0 评论 -
hdu1695-GCD-莫比乌斯反演入门
先带这个玩意儿 https://www.cnblogs.com/lcchuguo/p/5061692.html 第一次接触这么高端的玩意儿。 给定5个整数a,b,c,d,e,在[a,b][a,b]\left[a,b\right] 区间找一个数xxx,在[c,d][c,d]\left[c,d\right]找一个yyy,使得gcd(x,y)==egcd(x,y)==egcd(x,y)==e ,问...原创 2018-04-05 20:09:54 · 199 阅读 · 0 评论 -
欧拉函数入门
https://www.cnblogs.com/flipped/p/5324598.html 链接 欧拉函数就是 ϕ(n)=不超过n且与n互素的正整数的个数ϕ(n)=不超过n且与n互素的正整数的个数\phi(n)=不超过n且与n互素的正整数的个数, 欧拉函数是乘(积)性函数,所以对于两个任意互素的n,m都存在f(n∗m)=f(n)∗f(m)f(n∗m)=f(n)∗f(m)f(n*m)=f(n...原创 2018-04-05 20:42:16 · 262 阅读 · 0 评论 -
hdu1163-九余数定理&数学的常见结论哟-Eddy's digital Roots
九余数定理就是 数字n%9 等于n的各位数相加之和 %9… 所以就十分的nice了。当n很大的时候,我们就直接这样求了。 首先证明前有两个基本需要知道的规律 这是别人哒, https://blog.csdn.net/techmonster/article/details/501137891.和的模 等于 模的和再取模 如:(15+7)%3 = (15%3+7%3)%3 逆运算亦可2...原创 2018-05-12 21:07:49 · 243 阅读 · 0 评论 -
2016香港-思维&数学-Playing with Numbers
https://vjudge.net/problem/Kattis-playingwithnumbers 给定一群数。用 x y表示(这个数的值为2^x*3^y) 然后让你输出 m-1行。 第一行 没有gcd操作,有m-1个lcm操作 第二行 1个gcd操作,m-2个lcm操作 。。第m-1行 m-1个gcd操作 0个lcm操作 输出每行(对应情况)的 可能取的最大值,最小值。原创 2017-09-28 16:11:33 · 503 阅读 · 0 评论 -
hdu5073-思维&方差-Galaxy
http://acm.hdu.edu.cn/showproblem.php?pid=5073 背景知识很强qwq 给定一些星星,你可以删除k个, 每一个星星 s=d*d.(d为每个星星距离质心的距离。),问你如何使sigma(s)最小。 展开公式得 (x1-zx)(x1-zx)+(x2-zx)(x2-zx)… x1*x1+x2*x2+…. +(m-k)*zx*zx-2*sigma(原创 2017-09-11 21:47:05 · 266 阅读 · 0 评论 -
Educational Codeforces Round 1-积角排序-C. Nearest vectors
http://codeforces.com/contest/598/problem/C 给定一些向量,问你两者之间对应角最小的是哪个。 积角排序,注意最大的和最小的差别可能很大,但是角度是有周期的,所以减去 2π 之后仍然可能是最小的。其他就可以了。 还有 atan2是 (y,x)形式#include <bits/stdc++.h>using namespace std;bool cmp2原创 2017-07-20 08:38:23 · 303 阅读 · 0 评论 -
hdu6127-!!多校7&极角排序&问题转化-Hard challenge
.真的要好好思考一下了,这种题根本就不难,或者说,不难在编码水平,而难在问题的转化,高中都学过积角排序qwq。 太菜qwq,给定一些点,他们两两之间都有一条线段,线段的权是他们之间的和。 然后再给你一条直线,如果这条直线经过这些线段,就加上他们的权 问 怎么摆放这条直线,他们的边权最大。 -。-把这些点 用一条直线分成两份,然后求他们的乘积和最大。 http://acm.hdu.edu.c原创 2017-08-16 19:02:53 · 280 阅读 · 0 评论 -
UVA10006-快速幂Carmichael Numbers
https://vjudge.net/problem/UVA-10006 快速幂模板#include <bits/stdc++.h>using namespace std;typedef long long ll;int quickpow(int n,int m,int mod){ ll ret=1; int x=n; while(m>0){ if原创 2017-08-17 21:26:01 · 194 阅读 · 0 评论 -
HDU6033-2017多校第一场-Add More Zero
输入一个k 求pow(2,k)-1的长度-1 是多少。 一个数的长度为 log(n) +1 取int。 然后对2^k进行以下处理,即可以得到。 k*log10(2) 。#include <iostream>#include <cstdio>#include <cmath>using namespace std;int main(){ int n; int tt=1;原创 2017-07-26 15:41:36 · 220 阅读 · 0 评论 -
HDU6069-区间筛&&因子公式-Counting Divisors
http://acm.hdu.edu.cn/showproblem.php?pid=6069 给定一个范围l-r,再给你一个阶数k, 问你l-r范围内 d(i^k)的累加和。 d(x)是x的因子。 区间筛,先筛小于等于r的所有素数。 因子公式。。d=(x1*k+1)*(x2*k+1)。 x 为d的质因子出现的次数,k为原数的阶数。 然后每次用一个素数来筛L-r范围内所有的数(取倍数,能原创 2017-08-04 13:10:49 · 182 阅读 · 0 评论 -
hdu6143-多校8&三种方法-组合数|递推|容斥-Killer Names
http://acm.hdu.edu.cn/showproblem.php?pid=6143 这道题这么多写法qwq 真的好强悍 1 递推。当时也想来着,不过我想的是打表那种,但其实m和n不一样,结果也是不一样的。在有限的颜色下。 i为 当前段,j为使用过的颜色 满足递推方程dp[i][j]=dp[i-1][j]j+dp[i-1][j-1](n-j+1)… 后面计算另一个的时候,就反着求原创 2017-08-18 11:42:07 · 260 阅读 · 0 评论 -
POJ2002-二维哈希&数学定理&判断矩形-Squares
http://poj.org/problem?id=2002 给定一些点,问你这些点能组成多少矩形qwq 多校的时候遇到过一道,当时队友推了好久这个公式。 就是 当矩形确定两个点后。 剩余的点分别为 已知: (x1,y1) (x2,y2) 则: x3=x1+(y1-y2) y3= y1-(x1-x2) x4=x2+(y1-y2) y4= y2-(x1-x2) 或 x原创 2017-08-05 10:29:13 · 228 阅读 · 0 评论 -
hdu6105-多校6&&博弈&图&思维-Gameia
http://acm.hdu.edu.cn/showproblem.php?pid=6105 这道题真的很不错qwq alice和bob在一个图上玩游戏,bob的技术是,每次到达一个点,就把他邻接的其他点和这个点都染成黑色,而alice则只能染一个色,并且bob是qq会员,可以删除k跳图的边(想啥时候删啥时候删,事实上二人都是老成谋国之人,都是走的最优解,并且也没有同时删除边的数量限制,所以与时原创 2017-08-21 21:30:53 · 314 阅读 · 0 评论 -
hdu6166-最短路&二进制枚举-Senior Pan
http://acm.hdu.edu.cn/showproblem.php?pid=6166 给定一个有向图,再给你一个集合。问这些集合中 两个点之间相互的最短路距离最小是多少。 思路:集合中每个数二进制都有一位不相同, 所以通过枚举二进制可以保证 包含了所有 两两枚举的情况。 然后dij的思路 就是通过 贪心+集合+有限的松弛操作 来搞事情的。 所以也可以计算集合之间的最短路,(学了一招原创 2017-09-05 17:28:39 · 274 阅读 · 0 评论 -
hihocoder167周-最小公倍数-数组重排
http://hihocoder.com/contest/hiho167/problem/1 注意求完大小以后,答案是他们的 最小公倍数 还有就是 求lcm的时候可能乘起来会爆int#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=150;int a[maxn];ll c[ma原创 2017-09-14 16:24:57 · 206 阅读 · 0 评论 -
Gym - 101490L -素因子分解&对素数筛的理解-Sticky Situation
https://vjudge.net/problem/Gym-101490L 队友写的qwq。1e9,就算用bitset打表也打不好qwq(我tm怎么会这么想qwq) 直接素因子分解,统计素因子的个数(素因子的倍数不会是素数,也不会是素因子。所以这些数的素因子只有1个,埃筛就是这样)#include <bits/stdc++.h>#define ll long longll Stack[10原创 2017-09-24 20:09:31 · 355 阅读 · 0 评论 -
hdu5984-猜测&期望-C - Pocky
http://acm.hdu.edu.cn/showproblem.php?pid=5984 给定一个 长度为l的木板,每次等概率的在其中任意一个点切割,然后拿掉左半边,然后如果剩下的长度不大于d,就结束切割,否则继续切割。 问你 切割数目的期望。。 具体的公式推倒。 https://www.oyohyee.com/post/HDU/5984.html 考虑到 ln(2)=0.693原创 2017-09-19 19:58:42 · 571 阅读 · 0 评论 -
51nod1116-取模&大数-K进制下的大数
https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=300218 开始是模拟计算,后来感觉这么长的位置可能会爆。 后来想了一个方法,每次先求位权。一位一位的算。 比如4872%21 先算 4*1000 mod21为 18 18+800 mod 21 依次。但是又wa了好多组。。。这样应该也会爆。 其实已经很像了。原创 2017-07-31 09:56:46 · 391 阅读 · 0 评论