分治
大而化小,或由小到大的通解想法,一般使用递归实现
Honour Van
新款人工智障
展开
-
快速幂(log2 p)模板
#include <cstdio>int main(){ long long b, p, m;//虽然看似是int范围,但如果b = 2^32 - 2 = m - 1,那么就会越界 scanf("%lld%lld%lld", &b, &p, &m); long long ans = 1; printf("%lld^%lld mod %lld=", b, p, m);//使用这个输入输出的时候,是比较接近底层的。所以要自己考虑类型的问题原创 2020-05-26 11:20:39 · 657 阅读 · 0 评论 -
洛谷P1010 自我总结:递归和分治
P1010 幂次方分治的核心是找到每一步的可能结果,不管是正推还是逆推。在这个题当中每一步都有两种可能是2的幂次方不是2的幂次方第一种情况对应着2(solve())的结构第二种对应着寻找一个等比隔项求和式先开始正因为没有定义清楚这个开头,所以导致了很多不必要的时间浪费代码#include <iostream>using namespace std;int a;string res[20] = {"2(0)", "2"}, s = "2(", e = ")";stri原创 2020-05-25 09:24:22 · 555 阅读 · 0 评论 -
[pieces] 关灯问题:分治、位运算、bool变量取反
这是一道自造题题目描述输入格式输出格式分析要点记录题目描述有一个有灯泡组成的矩阵,其中每行有6个,共5行每一个灯都对应一个按钮,当按下按钮时,该按钮以及周围位置都会改变状态(由暗变亮或由亮变暗)。如图:按下红色处灯泡对应的按钮,周围几个灯泡的状态都发生反转。周围的灯泡状态不一定都是相同的,且关闭后,仍可以因为周围或者本身的操作而重新打开。如下:输入格式无输入。输出格式输出一个5×65\times65×6的矩阵。按钮操作处为111,否则为000。分析第二次按下同一按钮,作用抵消;原创 2020-05-20 14:59:27 · 1138 阅读 · 0 评论