ICode9

精准搜索请尝试: 精确搜索
  • [Luogu] P3708 koishi的数学题2020-11-12 13:04:17

    \(Link\) Description 输入一个整数\(n\),设\(f(x) = \sum\limits_{i=1}^n x \bmod {i}\),你需要输出\(f(1), f(2), \ldots , f(n)\)。\((n\le{10^6})\) Solution \(f(x)=\sum\limits_{i=1}^n x \bmod {i}=\sum\limits_{i=1}^n x-i\lfloor{\frac{x}{i}}\rfloor=nx-

  • CF296B Yaroslav and Two Strings2020-11-11 20:33:36

    如果两个只包含数字且长度为 \(n\) 的字符串 \(s\) 和 \(w\) 存在两个数字 \(1\leq i,j\leq n\),使得 \(s_i<w_i,s_j>w_j\),则称 \(s\) 和 \(w\) 是不可比的。现在给定两个包含数字和问号且长度为 \(n\) 的字符串,问有多少种方案使得将所有问号替换成0到9的数字后两个字符串是不可比

  • #特征方程,光速幂#洛谷 5110 块速递推2020-10-10 09:02:21

    题目 给定一个数列满足\(a_n=233a_{n-1}+666a_{n-2},a_0=0,a_1=1\) \(T\)组询问求\(a_n \bmod {10^9+7},T\leq 5\times 10^7\) 分析 首先这道题可以用矩阵快速幂+预处理分块做(不放博客迁移前的链接了), 但是为了锻炼特征方程就来重新做一做这题 首先我们要找到一组\(p,q\)使得\(a

  • 【进阶指南学习笔记】lowbit2020-10-08 15:33:04

    lowbit(n)是n最低一位的1和后面的所有0构成的数。 实现:lowbit(n) = (~n+1) & n = (-n) & n,原理是补码原理。(int中n + (-n) = \(2^{32}\)) 拓展问题:我有lowbit(n)了,可我怎么知道它是2的多少次幂? 大常数方法有很多,这里介绍一个牛逼的O(1)方法。 性质:any k ∈ [0, 35], \(2^k\) mod 37互

  • [CF1342E] Placing Rooks2020-09-09 09:01:33

    前言 数学就要多练练 题目 洛谷 CF 讲解 首先易证当\(n \le k\)时无解,\(k=0\)时答案为\((n-1)!\) 此时由于行和列是等价的,所以我们先只考虑对于每行只放一个车,最后将答案乘二即可 考虑放下一个车之后,如果当前列没有车,则对攻击数量不会有贡献,我们希望有\(k\)对车可以和互相攻击,则我

  • 「题解」洛谷 P2261 [CQOI2007]余数求和2020-09-06 07:00:49

    题目 P2261 [CQOI2007]余数求和 简化题意 求 \(G(n,k) = \sum\limits_{i = 1}^{n} k\mod i\) 思路 整除分块。 \[\begin{aligned} G(n,k) &= \sum\limits_{i = 1}^{n} k\mod i \\ &= \sum_{i = 1} ^ {n} k - \left\lfloor\dfrac{k}{i}\right\rfloor \times i \\ &a

  • Codeforces 708E. Student's Camp 题解2020-09-04 08:00:54

    题目链接:E. Student's Camp 题目大意:洛谷 题解:首先考虑最朴素的转移即设 \(f_{i,l,r}\) 表示到了第 \(i\) 层,前面全部连通,第 \(i\) 层剩余的砖块是 \([l,r]\) 的方案数,然后考虑容斥转移,令 \(P_{l,r}\) 表示一行中恰好剩下 \([l,r]\) 中的砖块的概率,然后就可以得到\(f_{i,l,r}=P_{

  • CF715E Complete the Permutations(计数,斯特林数)2020-08-05 21:32:16

    先考虑 \(q_i=i\)。\(i\) 向 \(p_i\) 连边,操作次数显然是 \(n\) 减去环数。 再考虑 \(q_i\) 给定。设 \(q\) 的逆排列 \(q'\),\(i\) 向 \(q'_{p_i}\) 连边。 可以看成是第一个排列的 \(i\) 向第二个排列的 \(p_i\) 连边,第二个排列的 \(i\) 向第一个排列的 \(q'_i\) 连边。 考虑原问

  • C - Longge's problem2020-07-24 19:00:23

    POJ - 2480 求\(\sum_{i=1}^{n}\gcd(i,n)~(1\leq n\leq 10^9)\) 显然有 \[\sum_{i=1}^{n}\gcd(i,n)=\sum_{d|n}d\varphi(\frac nd) \](考虑 \(\varphi\) 的意义) 然后直接做随便做。 Code #include<iostream> #include<cstdio> using namespace std; long long get

  • 洛谷P4351 [CERC2015]Frightful Formula2020-06-18 15:52:25

    传送门 题解 写任意模数\(NTT\)的时候预处理系数写错了,精度爆炸了(痛哭) 首先\(c=0\)的时候答案很好计算,就是对于第一行第一列每个数算一下对\((n,n)\)的贡献即可 而\(c\neq 0\)可以通过对于每一位上的\(c\)对\((n,n)\)的贡献求和,发现这是一个卷积的形式,可以用任意模数\(NTT\)解决

  • 联考20200520 T3 画(小P的画)2020-05-21 15:09:23

    分析: 吴思扬神仙题解Orz 不说了,3进制状压太恐怖,写(chao)半天 (这种题考场上就写暴力吧) #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<iostream> #include<map> #include<string> #define maxn 16

  • HDU 3949 XOR2020-05-01 11:56:35

    线性基板子题,注意特判\(0\),开\(long~long\)就好。 #include <cstdio> #include <cstring> using namespace std; #define R register #define LL long long #define int long long const int MAXN=1e4+10; const int MB=63; int n,q,cnt,zero; LL p[MAXN],a[MAXN]; inline

  • 拉格朗日插值模板题 luoguP48712020-04-26 10:05:34

    学习博客 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<map> #include<queue> #include<vector> #include<string> #include<fstream> using namespace s

  • 于神之怒加强版 HYSBZ - 44072020-04-22 11:09:17

    给下N,M,K.求       Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。   Output 如题   Sample Input1 2 3 3 Sample Output20 Hint   1<=N,M,K<=5000000,1<=T<=2000     设f(

  • Codeforces 1284E New Year and Castle Building (计算几何)2020-03-26 16:08:14

    题目链接 https://codeforces.com/contest/1284/problem/E 题解 我们计算选出 \(3\) 个点构成三角形覆盖的点数之和,这个值乘以 \(\frac{(n-4)}{2}\) 就是答案。这是因为对于任意一个(凸或凹,根据题意凹的多种凹法只算一次)四边形,从 \(4\) 个顶点中选出 \(3\) 个构成三角形的 \(4\) 种

  • [BJOI2019]总结2020-03-22 10:02:32

    光线   忽略\(\%\)为了行文方便。一种直接的方法:构建图以及概率的转移。定义光线方向朝下,且在第\(i\)个玻璃和\(i+1\)个玻璃之间(\(i=0\)表示第一块玻璃的上方,\(i=n\)表示在最后一块玻璃的下方)的光线总数为\(f_i\)。那么我们想要的答案即为\(f_n\)。然后我们列出来转移,发现有 \[f

  • EOJ Monthly 2020.3 D. 钢琴演奏家2020-03-21 09:57:46

    Cuber QQ 在疫情期间已经宅在家两个月了。 实在是无所事事的他,决定重操旧业,继续实现他曾经梦寐的钢琴演奏家梦想。 掀开积满了灰尘的钢琴盖,是他许久都未触碰的琴键,按下的瞬间,他发现,钢琴坏了。 Cuber QQ 有一个多年的弹奏习惯,他弹奏钢琴,同一时刻一定会同时按下 m 个琴键,他喜欢

  • [AHOI2009]中国象棋2020-03-03 14:03:22

    AHOI 题意求在$ncdot m​$的棋盘上摆放一些炮,使得任意两个炮不能互相攻击的方案数 题解对于每一列,显然只能有0或1或2个炮,这是列中不能攻击的充要条件 令$f_{i,j,k}$为考虑前i行,其中有j列有1个炮,k列有两个炮的方案数,这也意味着有$m-i-j$列没有放棋子 分当前行放0或1或2个棋子

  • Codeforces Round #624 (Div. 3) D 题2020-02-25 17:03:54

    题目链接:Three Integers 简要题意: 给出 \(a, b, c\) 满足 \(a \leq b \leq c\)。 你可以随便选择其中一个数,使这个数 \(+1\) 或 \(-1\)。 假设最后操作完 \(a\) 为 \(A\),\(b\) 为 \(B\),\(c\) 为 \(C\)。 你需要使 \(A | B\) 且 \(B | C\),并最小化操作次数。 输出操作次数和 \(A,

  • [APIO 2010]特别行动队2020-02-06 18:03:46

    Description 题库链接 给你一个长度为 \(n\) 的序列 \(x\),你可以把这份序列划分为任意多份。如果某一份的 \(x\) 的和为 \(X\),那么这一份的价值为 \(aX^2+bX+c\)。问你划分后得到的最大价值为多少。 \(1\leq n\leq 10^6,-5\leq a\leq -1,|b,c|\leq 10^7,1\leq x_i\leq 100\) Solut

  • 洛谷P4389 付公主的背包2020-02-05 20:02:57

    题目描述 题解 烧菜的弱化版 把第 $i$ 个物品的生成函数写出, $F_i(x)=\sum_{j=0}^{\infty} x^{a_i \times j}=\frac{1}{1-x^{a_i}}$ 则最后的答案的生成函数 $G(x)=\prod_{i=1}^nF_i(x)$ 两边取对数,即 $\ln G(x)=\ln (\prod_{i=1}^nF_i(x))=\sum_{i=1}^n \ln F_i(x)=-\sum_{i=1}^n

  • 习题:Single-use Stones2020-02-04 22:06:14

    题目 传送门 思路 最大的跳跃距离为\(l\) 也就是说实际影响答案的就是区间\(i\)~\(i+l\)的石头的最小值 就相当于水管的流量是由最小的横截面决定的 代码 #include<iostream> using namespace std; int n,m; long long a[100005]; long long s[100005]; long long ans=(1ll<<60);

  • AtCoder AGC035F Two Histograms (组合计数、容斥原理)2020-02-01 23:52:00

    题目链接 https://atcoder.jp/contests/agc035/tasks/agc035_f 题解 B题难度的F题……然而我还是不会 假设第\(i\)行染的长度是\(a_i\), 第\(j\)列是\(b_j\) 考虑什么情况下两种方案会重复: 若存在\(i,j\)使得\(a_i+1=j\)且\(b_j=i\), 那么令\(a'_i=j-1,b'_j=i+1\)可以得到一样

  • 【模板】【数学】线性基2020-01-31 21:54:43

    线性基就是,给你n个数,这n个数会有一个线性基,是的n个数异或的任意值(包括这n个数),都可以用这个线性基来异或出来。 线性基大小logn。 然后可以询问异或最大最小值,以及第k大的值   洛谷:https://www.luogu.com.cn/problem/P3812 异或第k大:http://acm.hdu.edu.cn/showproblem.php?pid=39

  • CF1279D Santa's Bot2020-01-30 20:08:01

    Link 普及题,开个桶记录一下每个数出现的次数即可。 #include<cstdio> #include<cctype> #include<vector> namespace IO { char ibuf[(1<<21)+1],*iS,*iT; char Get(){return (iS==iT? (iT=(iS=ibuf)+fread(ibuf,1,(1<<21)+1,stdin),(iS==iT? EOF:*iS++))

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有