
数学
JA_yichao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
51nod P3050 2维切方格【数学】
数学原创 2022-02-26 16:52:46 · 463 阅读 · 0 评论 -
51nod P2489 小b和灯泡【数学】
数学原创 2022-02-26 16:47:39 · 178 阅读 · 0 评论 -
Luogu P1403 [AHOI2005]约数研究【数学】
数学原创 2022-02-26 10:22:21 · 261 阅读 · 0 评论 -
POJ 1845 Sumdiv【数学】
数学原创 2022-02-26 10:03:45 · 303 阅读 · 0 评论 -
51nod P2107 二个奇数次【位运算】
位运算原创 2022-02-19 15:49:41 · 324 阅读 · 0 评论 -
51nod P2653 区间xor【位运算】
位运算原创 2022-02-19 11:54:51 · 419 阅读 · 0 评论 -
51nod P2102 或减与【位运算】
位运算原创 2022-02-19 09:16:20 · 372 阅读 · 0 评论 -
51nod P3216 授勋【位运算】
位运算原创 2022-02-19 09:13:38 · 463 阅读 · 0 评论 -
51nod P2106 一个奇数次【位运算】
位运算原创 2022-02-19 09:11:21 · 398 阅读 · 0 评论 -
51nod P2478 小b接水【数学】
数学原创 2022-01-13 19:12:47 · 147 阅读 · 0 评论 -
YbtOJ 矩阵快速幂课堂过关 例1 序列的第k个数【快速幂】
快速幂数学题原创 2021-12-18 16:57:14 · 137 阅读 · 0 评论 -
SSL2021年10月9日提高B组 Luogu T201842 巡回的梦魇之神喜欢数列【数学】
题目题目根据题意推式子。a0=1a_0=1a0=1a1=1×kn=ka_1=1\times \displaystyle \frac{k}{n}=ka1=1×nk=ka2=(1+k)k2a_2=\displaystyle \frac{(1+k)k}{2}a2=2(1+k)ka3=(1+k+(1+k)k2)k3=(1+k)(2+k)k6a_3=(1+k+\displaystyle \frac{(1+k)k}{2})\displaystyle \frac{k}{3}=\displaysty原创 2021-10-09 19:52:40 · 114 阅读 · 0 评论 -
SSL2021年10月7日提高B组 Luogu T201841 A.高尚的战斗之神想要取模【数学】
题目大意开始你拥有一个数字 xxx ,和一个数字 i=ri=ri=r ,然后每次令 x=xmod ix=x\mod ix=xmodi ,然后让 i=i−1i=i−1i=i−1 ,直到 i<li<li<l 为止,求每次操作后 xxx 的和。思路结论显然,或者也可以暴力找规律。代码#include<iostream>#include<cstdio>using namespace std;long long n,l,r,ans;int main(){原创 2021-10-07 16:24:38 · 116 阅读 · 0 评论 -
SSL2021年10月6日提高B组 Luogu T201838 B.看错题的产物改编而来的产物【数学】
题目思路代码#include<iostream>#include<cstdio>using namespace std;const long long mod=8681123;long long n,a,ans;int main(){ scanf("%lld",&n); for(int i=1; i<=n; i++) { scanf("%lld",&a); ans=max(ans,a); } ans%=mod;原创 2021-10-06 16:27:34 · 117 阅读 · 0 评论 -
YbtOJ 冲刺 NOIP2021 模拟赛 B 组 Day4 B. 循环数组【数学】
题目思路这道题我们对每个数考虑贡献。设last为上一个当前数出现的位置。显然可得:(i−lasti−1)+(n−i)+(i−lasti−1)∗(n−i)+1(i-last_i-1)+(n-i)+(i-last_i-1)*(n-i)+1(i−lasti−1)+(n−i)+(i−lasti−1)∗(n−i)+1因式分解可得:(i−lasti)(n−i+1)(i-last_i)(n-i+1)(i−lasti)(n−i+1)把范围扩大到 n×kn\times kn×k那我们可以把相同相对位置原创 2021-09-25 16:55:55 · 196 阅读 · 0 评论 -
YbtOJ 冲刺 NOIP2021 模拟赛 B 组 Day4 A. 统计集合【数学】
题目思路这道题比赛时我只会 O(n2)O(n^2)O(n2) 的做法。但是其实已经非常接近了。我们对于每个 iii 单独来考虑它对答案的贡献。当我们把数组排序,那么 iii 就会产生 i×2i−1i\times 2^{i-1}i×2i−1 的最大贡献(向前);同理,iii 会产生 i×2n−ii\times 2^{n-i}i×2n−i 的最小贡献(向后)。那么 summax−summinsum_{\max}-sum_{\min}summax−summin 就是答案。代码#inclu原创 2021-09-25 16:07:15 · 190 阅读 · 0 评论 -
SSL集训某OJ2021.08.16 提高B组 Luogu P7413 [USACO21FEB] Stone Game G【分块】【前缀和】【数学】
SSL集训原创 2021-08-16 22:17:47 · 217 阅读 · 0 评论 -
SSL集训 2021.08.10 提高B组 T1 单峰【数学】
SSL集训原创 2021-08-10 19:30:59 · 128 阅读 · 0 评论 -
SSL集训 2021.08.09 提高B组 T4 着色【组合数学】
SSL集训原创 2021-08-10 07:49:45 · 167 阅读 · 0 评论 -
SSL集训 2021.07.19 提高B组 T2 最大公约数 &&Luogu P1390 公约数的和【数论】【欧拉函数】
SSL集训原创 2021-07-19 22:27:38 · 213 阅读 · 0 评论 -
SSL集训 2021.07.15 提高B组 T3 PtyNB!(鱼跃龙门)【exgcd】【质因数分解】
SSL集训原创 2021-07-16 07:41:36 · 192 阅读 · 0 评论 -
YbtOJ 背包问题课堂过关 例3 宝物筛选【二进制拆分】【01背包】
思路这道题一看是多重背包,直接交T飞。于是就用二进制拆分把宝物拆分成几个宝物,以空间换时间,然后就变成了01背包。代码#include<iostream>#include<cstdio>using namespace std;int n,W,v[1000010],w[1000010],s[1000010],f[1000010];int a[100010],b[100010],tot;int ans;int main(){ cin>>n>&..原创 2021-07-08 19:19:11 · 194 阅读 · 0 评论 -
YbtOJ 背包问题课堂过关 例2 货币系统【筛】
思路这道题我们不用DP,用货币筛(雾我们把不能被表示的货币,直接放到货币系统里,然后和其他已经在货币系统里的货币或能被表示的货币一起去筛其他货币。代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>using namespace std;int T,n,a[100010],f[100010];int ans,maxx;int main(){..原创 2021-07-08 11:58:25 · 1742 阅读 · 0 评论 -
Luogu P5253 [JSOI2013]丢番图【质数相关】
思路这道题首先要把式子给整理一下(终于是初二知识范畴的化简了。。。)1x+1y=1n\frac {1}{x}+\frac {1}{y}=\frac {1}{n}x1+y1=n1x+yxy=1n\frac {x+y}{xy}=\frac {1}{n}xyx+y=n1x+y=xynx+y=\frac{xy}{n}x+y=nxynx+ny=xynx+ny=xynx+ny=xyxy−nx−ny=0xy-nx-ny=0xy−nx−ny=0xy−nx−ny+n2=n2xy-nx-ny+n^2=n^2x.原创 2021-05-15 16:45:23 · 188 阅读 · 0 评论 -
Luogu P5495 Dirichlet 前缀和【质数】
思路这道题首先求出n以内的所有质数个数,我用的是欧拉筛。然后发现可以用倍数法(又有点像埃氏筛)的循环来不断累加当前质数的倍数(这里用到了质因数分解的思想,每个质数及其倍数都是一些数的约数),最后异或就好了。代码#include<iostream>#include<cstdio>#include<cmath>#define uint unsigned intusing namespace std;uint prime[20000010],v[20000..原创 2021-05-15 15:21:18 · 217 阅读 · 0 评论 -
luogu P3799 妖梦拼木棒【枚举】【组合数学】
题目链接这道题需要用到排列组合我们发现能够组成等边三角形的四条边是:(设当前枚举到的边为x)x,x,x−1,1x,x,x-1,1x,x,x−1,1x,x,x−2,2x,x,x-2,2x,x,x−2,2.........x,x,x/2,x/2x,x,x/2,x/2x,x,x/2,x/2则可直接用for统计怎么计算呢?用组合数即可。我们知道:发现可以约分,因为在此题中m恒等于2,所以约分成n∗(n−1)2\frac{n*(n-1)}{2}2n∗(n−1)计算时不断取模即可,原创 2020-12-11 21:04:50 · 208 阅读 · 0 评论 -
T145300 【2020.8.24NOIP模拟赛】这是一棵树吗?【数学】
考试时刚开始打了一个爆搜,70分。后来才用找规律AC了。由KJ博客所来,在次感谢代码解释#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;long long n,x,sum;int main(){ cin>>n; for(int i.原创 2020-08-24 15:38:58 · 164 阅读 · 0 评论 -
Luogu P3951 小凯的疑惑【数论】
解题思路经过朋友指点发现是数论。首先我们设一个 kkk,我们让 k=ma+nbk=ma+nbk=ma+nb(m,nm,nm,n 为参数,m≥0m≥0m≥0)当 n≥0n≥0n≥0,kkk 一定能够被表示。那么我们就考虑 n<0n<0n<0 的情况设 n=−1n=-1n=−1,得 k=ma−bk=ma-bk=ma−b,当 m≥bm≥bm≥b 时,这个数也可以被表示。所以我们要让 m<bm<bm<b,为了让小凯不能准确支付的物品价值最大,显然让 m=b−1m=.原创 2020-08-20 16:49:43 · 360 阅读 · 0 评论 -
2020.5.7普及C组 电压放大器(amp)【纪中】【数学】
本题是一道数学题,先看看这个: 1 3 5 7 9 11 13 15 17~~~1~~~~~3~~~~~5~原创 2020-05-08 20:18:47 · 204 阅读 · 0 评论 -
2020.5.7普及C组 移动奶牛(herding)【纪中】【数学】
比赛时50分.当时的想法就是对于最小: 类似于二分,分成两半,取小的那一半继续分,记录次数对于最大: 直接输出大的那一边−1-1−1有一个特判就是如果x+1==yx+1==yx+1==y就直接在y−zy-zy−z处理。如果y+1==zy+1==zy+1==z就直接在x−yx-yx−y处理。事实证明,我想的太复杂了(对于最小)除去0,10,10,1的情况,其实我们只需要输出222就...原创 2020-05-07 19:50:24 · 275 阅读 · 0 评论 -
2020.5.2普及C组 数列(sequence)【纪中】【数学:进制】
把序列里的数转换成二进制,再把这些数弄成十进制,你会发现:1,2,3,4,5,6,71,2,3,4,5,6,71,2,3,4,5,6,7:)直接把KKK转换成二进制再转换成原来的数就好了。灋匼AC CodeAC~CodeAC Code#include<algorithm>#include<iostream>#include<cs...原创 2020-05-03 19:21:53 · 238 阅读 · 0 评论 -
2020.4.29普及C组 MooBuzz【纪中】【数学】
这道题其实能用数学解法轻松做出。我们把数列分成151515个一组,每组有888个数所以mod 8mod~8mod 8就能求出在哪一位。那在第几组呢?因为是累加,所n/8∗15n/8*15n/8∗15就好了!仔细思考,发现需要特判n mod 8==0n~mod~8==0n mod 8==0的情况因为刚好存满了一组数列,所以可得...原创 2020-05-01 19:55:16 · 327 阅读 · 0 评论 -
2020.4.22普及C组 Hankson的趣味题(son)【纪中】【数学】
AC CodeAC~CodeAC Code#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int n,a0,a1,b0,b1;int gc...原创 2020-04-24 19:42:29 · 258 阅读 · 0 评论 -
2020.4.15普及C组 Grass Planting【纪中】【数学】
数学仔细研究题目后你会发现你只需要输出入度最大的点的度数+1就好了,下面我们来论证!我们假设有3−23-23−2两点相连,那么这两个点的花一定是不同的。如果3−43-43−4两点相连,显然这两个点的花一定是不同的。2−42-42−4也一定不同。其实它们相连就表示它们的入度分别加 111————————————————————那么我们会发现,与333相连或间接相连的一共有2...原创 2020-04-16 20:43:40 · 235 阅读 · 0 评论 -
2020.4.8普及C组 Social Distancing 1【纪中】【数学】
其实我们只需要用数学思维总结出四条通用规律,就能避免一堆的特判了!把2个1放在两个不同的区间把2个1放在同一个区间把2个1分别放在头和尾之间输出AC CodeAC~CodeAC Code#include<algorithm>#include<iostream>#include<cstring>#include<cs...原创 2020-04-14 21:32:37 · 334 阅读 · 0 评论 -
2020.4.1普及C组 Milk Factory【纪中】【数学】
数学思想排序,只要aaa中有重复的出发点,就输出111,否则就输出最小的aaa中没有出现过的点。#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int n,a[1...原创 2020-04-02 20:21:47 · 775 阅读 · 0 评论 -
2020.3.21普及C组 汉诺塔(hanoi)【纪中】【数学】
正解:模拟+找规律其实找到汉诺塔环的移动规律此题就可解出#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;const char gl[]={'1','2','3',...原创 2020-03-21 16:38:49 · 166 阅读 · 0 评论 -
2020.3.21普及C组 石子游戏(game)【纪中】【数学】
比较简单,画个图找找规律就过了。#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;int t,n;int main(){ freopen("game.in","...原创 2020-03-21 13:15:07 · 168 阅读 · 0 评论 -
2020.2.7普及C组 num【纪中】【数学】
本题考察数学思维#include<iostream>#include<cstdio>#include<cmath>using namespace std;long long nn,n;int l=0;int main(){ freopen("num.in","r",stdin); freopen("num.out","w",std...原创 2020-02-24 19:34:59 · 156 阅读 · 0 评论 -
2020.2.5普及C组 游戏【纪中】【数学】
这道题难度很大,能想到正解是不容易的#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>using namespace std;long long b[100100],a[100100];long long n,c,ans,boss=1;int mai...原创 2020-02-24 19:25:29 · 147 阅读 · 0 评论