笔记
Prime me
Nobody can defeat me unless I don't want to win.
展开
-
快速幂&&快速乘模板
//快速幂 #include<iostream> using namespace std; #define ll long long int main() { ll a,b,n; cin>>a>>b>>n; ll res=1&n; while(b) { if(b&1) res*=a%n; res%=n; a*=a%n;原创 2021-10-09 15:23:11 · 67 阅读 · 0 评论 -
棋盘覆盖问题(分治)
在一个 2 ^k × 2 ^k 个方格组成的棋盘中,若有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个特殊棋盘.显然特殊方格在棋盘上出现的位置有4^k 种情形.因而对任何k≥0,有4^k种不同的特殊棋盘.输出按照排序顺序来涂黑的数字和顺序,最后将棋盘输出 用上述四个L型骨牌将棋盘覆盖 做法:将该棋盘从中间分开,分成四部分,若每次分别覆盖没有棋子的其他三个棋盘 每次传值包括起点坐标,目标点坐标和棋盘大小 #include<iostream> using namespace.原创 2021-10-20 20:42:23 · 217 阅读 · 0 评论 -
最大字段和(分治&&动态规划)
给定有n个整数(可能为负整数)组成的序列a1,a2,…,an,求该序列连续的子段和的最大值。 如果该子段的所有元素和是负整数时定义其最大子段和为0。 分治:时间复杂度:nlogn #include <iostream> using namespace std; int a[100005]; int maxnum(int l,int r) { int sum=0; if(l==r) { if(a[l]>0) sum= a.原创 2021-10-20 19:03:33 · 88 阅读 · 0 评论