
数学与结论
文章平均质量分 73
wanherun
今天会有好事发生吗
展开
-
Gym102769I Interstellar Hunter
初始位置在 (0,0) 点,现在有两种操作:操作 1 :你获得一种能力向量 (x,y) ,你可以从当前位置 (a,b) 出发,沿着这个能力向量方向移动任意整数个单位,即可以从 (a,b) 移动至 (a+dx,b+dy) ;操作 2 :在二维平面上的某一点 (x,y) 上出现了一个价值为 w 的物品,如果你可以通过你当前拥有的能力向量移动至 (x,y) 就可以获得该物品。问最终你可以获得的最大价值是多少?简单分析即可发现,对于一个出现地物品,如果当前我能够取取得,就一定回去取,因为这对之后的操作没原创 2021-03-07 10:34:59 · 509 阅读 · 0 评论 -
bzoj1263 [SCOI2006]整数划分
题目数学结论题先考虑全分成实数,根据基本不等式,这些数要全部相等才最大。则设其为x,求x^(n/x)最大,具体证明我当然不会(据说是先取对数,在证明),结论是,x取自然对数时最大,即e,2.7几几几。最接近的整数为3,所以尽量取3,不够取2,显然不取1。#include<bits/stdc++.h>using namespace std;int n;int A[5001],len,k;voi原创 2017-08-29 07:43:36 · 406 阅读 · 0 评论 -
bzoj1912 [Apio2010]patrol 巡逻
题目这题貌似是我接触的第一道APIO的题,当时完全不知道怎么做呀233.我们先看k==1的情况,这比较简单,找出最长链即可。ans-=(len-1)。 之后处理k==2,显然是在k==1情况下再加一条边,也应该是最长链之类的吧,感性认识,把第一次的最长链赋为-1,跑最长链。ans-=(len-1)。 这样的话,就解决了这道题。#include<bits/stdc++.h>#define N 1原创 2017-08-31 07:39:27 · 239 阅读 · 0 评论 -
bzoj1008 [HNOI2008]越狱
题目数学水题 推个公式或者找个规律就好了。。。m^n-m*(m-1)^(n-1)#include<bits/stdc++.h>#define LL long long#define mod 100003using namespace std;LL n,m;LL ans;LL ksm(LL A,LL B){ LL ans=1; while(B) {原创 2017-09-02 20:51:01 · 323 阅读 · 0 评论 -
bzoj3884 上帝与集合的正确用法
题目又是一道数学题,233 这样的式子,我们用欧拉公式吧。。。然后呢发现这是可以直接递归下去算的。#include<bits/stdc++.h>#define N 10000000#define LL long longusing namespace std;int phi[N+1],prime[N+1],siz;bool noprime[N+1];LL p,T;void init(原创 2017-09-06 21:54:03 · 202 阅读 · 0 评论 -
bzoj1600 [Usaco2008 Oct]建造栅栏
题目首先我们需要知道,四条边要构成四边形,必须每条边都小于周长的一半。之后就十分简单了。dp呀什么的都可以做了。记住结论。#include<bits/stdc++.h>using namespace std;int n,lim;int f[3000];int ans;int main(){// freopen("in.txt","r",stdin); cin>>n;原创 2017-09-23 23:57:43 · 240 阅读 · 0 评论 -
bzoj2796 [Poi2012]Fibonacci Representation
题目感性认识,每次选最接近的斐波那契数就好了。记忆化一发。#include<bits/stdc++.h>using namespace std;int T;long long fib[105],n; map <long long,int> f;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return原创 2017-09-25 22:08:33 · 228 阅读 · 0 评论 -
bzoj4563 [Haoi2016]放棋子
题目感性认知,其实每行障碍的位置无所谓,不妨让它们在主对角线上,这样,就全错排就好了。公式:f[i]=(i-1)*(f[i-1]+f[i-2]),f[1]=0,f[2]=1.高精度。//全错排 f[1]=0,f[2]=1,f[i]=(i-1)(f[i-1]+f[i-2])#include<iostream>#include<cstdlib>#include<cstdio>#include<c原创 2017-09-27 23:09:15 · 255 阅读 · 0 评论 -
[noip2016]组合数问题 题解
D2T1,从理论上来讲不算太难啊,但考场没有多少人做出来就十分尴尬了。或许是心理原因吧。其实就是求一个组合数,由于除数是确定的,所以可以杨辉三角递推。然后为了处理询问,二维前缀和维护一下就好了。#include<bits/stdc++.h>#define N 2000using namespace std;int f[N+5][N+5],tmp[N+5][N+5],T,p,n,m;int s原创 2017-10-20 21:34:02 · 917 阅读 · 0 评论 -
[noip2014]解方程 题解
看看数据范围,woc,什么鬼,让我在初中第一眼看见的时候惊呆了,然后留下了阴影。现在才补完。其实也不算太难。首先,我最先先到的就是在一个模大质数的意义下解,复杂度就成O(mn)的了,再用两个比较大的质数同时做,如果这样都wa的话就没办法了(几率太小)。不过,这样是过不了最后两个点的,怕是这样只能O(wys)了233。但是,我们可以改进一下思路,先选取一个比较小的质数p,算它的答案,假设为x,那么(x原创 2017-10-24 23:00:15 · 620 阅读 · 0 评论 -
[noip2013]转圈游戏 题解
我们可以简单地发现,答案就是(x+(10^k)*m)%n。这样的话,就是很简单就可以求出来了。10^k%n的话,我们用一下快速幂就可以解决。#include<bits/stdc++.h>#define ll long longusing namespace std;ll n,m,k,x;ll ksm(ll a,ll b,ll c){ ll ans=1; while(b)原创 2017-10-25 23:12:10 · 848 阅读 · 0 评论 -
[noip2012]同余方程 题解
emmm,一道当时的模板题吧。什么只要会ex_gcd就可以A的题。变换一下式子:ax=k(mod b)可以变为ax+k=by,再移一下项,可得: ax+by=-k,y的正负可以变,然后,就是ex_gcd了。#include<bits/stdc++.h>using namespace std;int a,b,x,y;int ex_GCD(int a,int b,int &x,int &y){原创 2017-10-29 21:31:06 · 341 阅读 · 0 评论 -
bzoj5074 [Lydsy十月月赛]小B的数字
题目咳咳,话说a|b谁是谁的因子呀,数学怕是没学好,一开始弄反了,导致认为这题难道不是有毒送分吗233。然后样例打脸,好吧,我错了,a是因子。其实还是比较简单的,由于都是2的整数次幂,我们考虑整数就好了,发现,每一个ai,至少要占x的次数的,1/ai。然后我们就可以愉快的求和,然后判断与1的大小就好了。为了尽量避免精度问题,我没用double,都乘了一个10!来算(其实影响不大)。对了,还有一个小(原创 2017-10-31 21:58:05 · 562 阅读 · 0 评论 -
bzoj5085 最大
题目最显然易见的做法就是枚举一条对角线的两个端点,不过,这样是过不了的。然后,就需要一些技巧了。我们先贪心地想一想,如果第一次选最大的两个点算,当然是不行的。。 但我们多做几次,是不是正确率就会变高呢。答案是显然的,我们就取出最大的一些数来算,这样就成O(num^2)了,之后,这个num^2如何选取呢。如果在考场上,就按极限取吧,只要不超时就行。这样如果我们的想法是对的,就会A。选取4*n其实就行原创 2017-11-02 22:12:27 · 411 阅读 · 0 评论 -
bzoj2982 combination
题目一句话题意,求解C(n,m)%10007的值。我们知道,10007是一个质数,那么除一个数就相当于乘上它的逆元,这样就可以预处理阶乘O(1)做了。但是,这样有个问题,n大于了10007怎么办?显然都不是0呀。我们有办法(不是我想出来的,Lucas定理就可以用了。C(n,m)=C(n/p,m/p)*C(n%p,m%p)%p然后递归就好了。#include<bits/stdc++.h>#defin原创 2017-11-02 22:16:36 · 222 阅读 · 0 评论 -
bzoj4459 [Jsoi2013]丢番图
题目蜜汁“费马大定理”,不过好像没什么关系。1/a+1/b=1/n,这样当然是没有用的,我们来变换一下(没有公式编辑(其实太懒))。(a+b)/ab=n n(a+b)=ab ab-n(a+b)+n^2=n^2 (a-n)*(b-n)=n^2到现在,就很显然了,求n^2的因数个数,考虑a,b其实等价,还要除以2,(向上取整,因为平方数)。之前被一个强行卡常网站卡了一下这个,本机0.83s,交上去原创 2017-11-08 22:57:19 · 329 阅读 · 0 评论 -
bzoj3000 Big Number
题目首先,我们都知道,一个数n有几位数的公式就是lg(n)+1(十进制下)。那么k进制下就为logk(n)+1了。 那么这道题就可以即为logk(n!)=log(1)+log(2)+……+log(n)了。 但是这样是O(n)的,做不动。这个时候,就要使用神奇的公式了。当然不会证明啦。但是,这样就可以根据对数运算法则展开了。最后公式就很好推了。#include<bits/stdc++.h>#de原创 2017-11-30 20:23:27 · 407 阅读 · 0 评论