随笔分类 -  高精度

摘要:题目传送门 一、题目分析 考虑以阶梯左下角那个点为第一个钢材的左下角,那么第一个钢材摆放情况便如下图(以 n=5 为例) 对每种情况分别讨论,那么问题都被分成了两个子问题,设f[n]表示摆放高度为n的台阶的方法数,那么: \(\large f[5]=f[4]*f[0]+f[3]* 阅读全文
posted @ 2022-06-11 09:03 糖豆爸爸 阅读(28) 评论(0) 推荐(0) 编辑
摘要:AcWing 1315. 网格 一、题目描述 某城市的街道呈网格状,左下角坐标为 A(0,0),右上角坐标为 B(n,m),其中 nm。 现在从 A(0,0)点 出发,只能沿着街道向 正右方 或者 正上方 行走,且不能经过图示中直线左上方的点,即任何 阅读全文
posted @ 2022-06-10 16:39 糖豆爸爸 阅读(79) 评论(0) 推荐(0) 编辑
摘要:AcWing 1308. 方程的解 一、题目描述 佳佳碰到了一个难题,请你来帮忙解决。 对于不定方程 a1+a2++ak1+ak=g(x),其中 k1kNx 是正整数,g(x)=xx mod 1000(即 阅读全文
posted @ 2022-06-07 09:04 糖豆爸爸 阅读(72) 评论(0) 推荐(0) 编辑
摘要:关于__int128的使用 正常来说,unsigned long long已经是可以定义的最大的类型了,但是如果数据范围超过了264就会爆炸。如果要处理比其大一点又不是那么大的数,就可以使用__int128这个定义。 NOICSP系列中可以正常使用__int128: https: 阅读全文
posted @ 2022-05-28 17:14 糖豆爸爸 阅读(2004) 评论(0) 推荐(1) 编辑
摘要:## [AcWing 1069. 凸多边形的划分 ](https://www.acwing.com/problem/content/1071/) ### 一、题目描述 给定一个具有 N 个顶点的凸多边形,将顶点从 1N 标号,每个顶点的权值都是一个正整数。 将这个凸多边形划 阅读全文
posted @ 2022-01-07 14:46 糖豆爸爸 阅读(361) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、递推+高精度 #include <bits/stdc++.h> using namespace std; const int N = 5010; /** * 功能:高精度加法模板 * @param A * @param B * @return */ vector<int> add(v 阅读全文
posted @ 2021-11-24 08:41 糖豆爸爸 阅读(130) 评论(0) 推荐(0) 编辑
摘要:P1045 [NOIP2003 普及组] 麦森数 题目传送门 一、前导知识 高精度乘法 老师将高精乘高精,高精乘低精想办法合并成了一个模板 没错应该看的出来,高精度乘法其实就是一位一位去乘,然后按位存储在数组里面,思路差不多就是这样。 由于位数比较多,我们用字符串来进行输入,处理后按位存到整型数组中 阅读全文
posted @ 2021-11-22 15:54 糖豆爸爸 阅读(402) 评论(0) 推荐(0) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e5 + 10; int n, num; int ans; vector<int> c; int a[N], al; in 阅读全文
posted @ 2021-11-22 15:53 糖豆爸爸 阅读(76) 评论(0) 推荐(0) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; int a[N]; void mul(int a[], int b, int &len) { int t = 0; for (int i = 1; 阅读全文
posted @ 2021-11-22 15:51 糖豆爸爸 阅读(98) 评论(0) 推荐(0) 编辑
摘要:题目传送门 //P1009.cpp #include <bits/stdc++.h> using namespace std; //本题有坑,使用长整也过不了洛谷的用例,因为它的用例是22,需要高精度,也就是乘法高精度+加法高精度 typedef long long LL; int n; LL re 阅读全文
posted @ 2021-11-21 11:15 糖豆爸爸 阅读(1078) 评论(0) 推荐(0) 编辑
摘要:题目传送门 //P1303.cpp #include <bits/stdc++.h> using namespace std; /** * 功能:高精度乘低精度模板 * @param A * @param b * @return */ vector<int> mul(vector<int> &A, 阅读全文
posted @ 2021-11-21 11:12 糖豆爸爸 阅读(56) 评论(0) 推荐(0) 编辑
摘要:题目传送门 //P1601.cpp #include <bits/stdc++.h> using namespace std; /** * 功能:高精度加法模板 * @param A * @param B * @return */ vector<int> add(vector<int> &A, ve 阅读全文
posted @ 2021-11-21 11:11 糖豆爸爸 阅读(87) 评论(0) 推荐(0) 编辑
摘要:题目传送门Luogu 题目传送门AcWing 一、公式推导 我们对于国王身后的两个点来分析 队列可能是这样的: 左手 右手 国王 a0 b0 p1 a1 b1 p2 a2 b2 根据题意:每位大臣获得的金 阅读全文
posted @ 2021-07-21 10:34 糖豆爸爸 阅读(385) 评论(0) 推荐(0) 编辑
摘要:https://www.luogu.com.cn/problem/P1045 首先第一问,输出2p1 的位数 (1)自然数n的位数计算公式推导 n=10 位数是2; n=100 位数是3; n=1000 位数是4; n=12345 位数是5 阅读全文
posted @ 2021-07-09 16:15 糖豆爸爸 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、算法原理 当输入的数很大时,可采用字符串方式接收。 拆成一位一位的数字,把它们存在一个数组中,一个数组元素表示一位数字 数组中是这样存储的: 倒序存储原因: 在平常,数字从左到右依次为从高位到低位....可这里却与日常的习惯相反。 这是因为加法可能会产生进位,而数组在最前面加上数字是不可能的,但 阅读全文
posted @ 2021-07-07 13:38 糖豆爸爸 阅读(1177) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示