笔记
Xz _Yang
浮生只合尊前老,雪满长安道。故人早晚上高台,寄我江南春色一枝梅
展开
-
01背包,完全背包,混合背包详解
01背包,完全背包,多重背包详解01背包01背包就是给n个物体,每个物体都有代价w[i] 和 价值 v[i];给定一个容量为t的背包,每个物体只能选一次装入背包,所能得到的最大价值是多少动态规划就是找状态转移方程,dp[ i ] [ j ]=max ( dp [ i - 1 ] [ j ] , dp [ i -1 ] [ j - w [ i ] ]+ v [ i ] )dp[ i ] [ j ] 表示从前 i 个物品中挑选物品放入容量为 j 的背包可以获得的最大价值。就是在当前状态有两种选择原创 2021-03-28 10:57:06 · 330 阅读 · 2 评论 -
逆元
逆元若 a×\times× x≡1(mod b),且a与b互质,那么我们就能定义: x 为 a的逆元,记为a−1a^-1a−1,所以我们也可以称 x为 a在 mod b意义下的倒数,a ×\times× b mod p = a mod p ×\times× b mod p;ab\frac{a}{b}ba mod p = a mod p ×\times× b−1b^-1b−1 mod p;(a+b) mod p = (a mod p + b mod p) mod p;(a-b) mod p原创 2021-01-11 16:01:38 · 104 阅读 · 1 评论 -
笔记
高精度乘和加高精度乘和加 void cheng(int *a,int c){ int jw=0; for(int i=0;i<1000;i++) { a[i]=a[i]*c+jw; jw=a[i]/10; a[i]%=10; }}void jia(int *a,int *c){ int f=0; for(int i=0;i<1000;i++) { c[i]+=a[i]+f; f=c[i]/10; c[i]%=10; }}欧拉筛欧拉筛原创 2021-01-11 15:43:56 · 97 阅读 · 1 评论 -
并查集(思路加简单例题)
并查集(思路加简单例题)并查集,顾名思义就是 合并集合,查找集合这两个功能。并查集一般是作用于连通性问题(可能是我太菜了)首先我们看看并查集的查找,举个例子小绿是小红老大,小红是小蓝老大,小蓝是小明老大。那么小绿,小红,小蓝,小明,这四个人就因为谁是谁老大这个关系而连通查找函数find()查找与你连通的最上面一位//谁是你最大的老大f[]数组,用来储存与你连通的上一位//谁是你的老大比如 f[小明]=小蓝,f[小蓝]=小红,f[小红]=小绿find[小明]=小绿,find[小蓝]=小绿,原创 2020-11-01 11:36:42 · 2060 阅读 · 8 评论 -
二分和二分答案和三分(经典例题)
二分和二分答案和三分(经典例题)二分模板int find_low(int x){ int mid,l=1,r=n; while(l<=r) { mid=(l+r)/2; if(a[mid]<x) l=mid+1; else r=mid-1; } return l;}lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num原创 2020-10-27 23:05:11 · 440 阅读 · 2 评论 -
合并果子(经典优先队列)
合并果子(经典优先队列)https://www.luogu.com.cn/problem/P1090题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量原创 2020-10-25 18:53:04 · 1797 阅读 · 8 评论