洛谷P1313:https://www.luogu.org/problemnew/show/P1313 思路 本题就是考查二次项展开 根据定理有:(ax+by)k=∑ki=0Cik*aibk-ixiyk-i 即推出xnym的系数是Cmk*anbm 代码 #include<iostream> using namespace std; #define mod 10007 ,B=; ][]; int main() { cin>>a>>b>>k>>n&g…
(%%%hmr) 计算系数[传送门] 算法呀那个标签: (越来越懒得写辽)(所以今天打算好好写一写) 首先(ax+by)k的计算需要用到二项式定理: 对于(x+y)k,有第r+1项的系数为:Tr+1=Cnran-rbr 这样对于(ax+by)k而言,第r+1项的系数就为:akbkCnran-rbr 然而这样算,到就爆掉了呢! 显然不能暴算,然鹅实际上,二项式定理中的系数T,我们可以看成神奇的杨辉三角形: 这样复杂度就降下来了呀,所以又半途而废了 直接带代码: #include<iostream>…
这道题只要肯动手还是挺水的 进入正题 我们先枚举几个找找规律(这里先省略x,y): k = 0 :\(1\) k = 1 : \(a\) \(b\) k = 2 : \(a^{2}\) \(2ab\) \(b^{2}\) k = 3 : \(a^{3}\) \(3a^{2}b\) \(3ab^{2}\) \(b^{3}\) ....... 去掉\(a\)和\(b\),就能发现他就是个杨辉三角,那我们就可以先预处理好杨辉三角(也可以打表) 我们继续观察,杨辉三角上是要乘上\(a\)和\(b\)的,…
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 输入输出样例 输入样例#1: 复制 1 1 3 1 2 输出样例#1: 复制 3 说明 [数据范围] 对于30% 的数据,有 0…
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 输入输出样例 输入样例#1: 1 1 3 1 2 输出样例#1: 3 说明 [数据范围] 对于30% 的数据,有 0 ≤k ≤1…
P1313 计算系数 题目描述 给定一个多项式\((by+ax)^k\),请求出多项式展开后\(x^n*y^m\)项的系数. 输入输出格式 输入格式: 共一行,包含5个整数,分别为\(a,b,k,n,m\),每两个整数之间用一个空格隔开. 输出格式: 共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 思路: 由二项式定理得,结果为\(C_k^m*a^n*b^m \ mod \ 10007\) 因为10007是质数,所以我们可以用费马小定理求出阶乘逆元再直…
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k ,n ,m,每两个整数之间用一个空格隔开. 输出格式: 输出共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果. 输入输出样例 输入样例#1: 1 1 3 1 2 输出样例#1: 3 说明 [数据范围] 对于30% 的数据,有 0 ≤k ≤1…
次元传送门:洛谷P1315 思路 思路大概想到了 可是代码实现却没想到 所以参考题解了 D2T3的贪心果然有难度 我们考虑在每次用加速器有两种情况 到下一个点还需要等待:以后的时间就不再影响了 到下一个点不需要等待:那么就会影响到后面的时间直到出现情况1(或者到最后一个点) 用sum[i]数组记录到i时的总人数 进行前缀和处理 e[i]为i可以影响到的最远的点 那么sum[i + e[i]] - sum[i] 即是能影响到的人数 这里需要用到贪心思想 即把影响最大的点用加速器 代码 #inclu…
题目来源:洛谷P1311 思路 纯暴力明显过不了这道题 所以我们要考虑如何优化到至多只能到nlogn 但是我们发现可以更优到O(n) 我们假设我们当前寻找的是第二个人住的客栈i 那么第一个人住的客栈肯定在i之前 如果在枚举的时候发现一家客栈满足小于可承受价格 那么这家客栈左边与i客栈颜色相同的都可以视为一种方案 所以我们需要一个数组sum[k]记录到i之前第k种颜色一共有几家客栈 last[k]数组存下第k种颜色在i之前的最后一家客栈(判断满足价格的客栈颜色是否在此这种颜色最后一家位置的后面)…
洛谷P4724 [模板]三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积. 数据范围:\(1\le n\le 2000\). 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积的讲解. 三位向量的运算 模长: 即向量长度,\(|\vec{a}|=\sqrt{x_a^2+y_a^2+z_a^2}\). 点积: 标量 \(\vec{a}\cdot\vec{b}=|\vec{a}||\vec{b}|\cos<\vec{a},\vec{b}>=x_ax_b+y_ay_b+z_a…