洛谷 [USACO1.5]八皇后 Checker Challenge
摘要:题目描述 一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列 2 4 6 1 3 5 来描述,第 ii 个数字表示在第 ii 行的相应位置有一个棋子,如下: 行号 1 2 3 4 5
阅读全文
洛谷 P1464 Function
摘要:做笔记:记忆化搜索的语法 #include<iostream> #include<cstdio> #define ll long long using namespace std; ll temp[55][55][55]; int w(ll a,ll b,ll c) { if(a<=0||b<=0|
阅读全文
斐波那契递归升级
摘要:用dp [ i ]存放数列第 i 项,避免了每次递归时都要重复计算海量的项 运行时间从9s提升到0.001s #include<iostream> #include<ctime> using namespace std; int dp[55]; int f(int x) { if(x==1||x==
阅读全文
sort的妙用
摘要:自定义sort升序降序的方法如下 #include<iostream> #include<algorithm> #include<cstdio> using namespace std; struct period { int st; int end; }; int read() { int x=0
阅读全文
洛谷P2437 蜜蜂路线
摘要:题是dp+高精度,这里记录一下高精度新思路 用二维数组 n [ ][ ] 来高精度储存一个整数 n [ i ],其中 n [ i ][ j ] 表示 n [ i ] 的第 j 位(当然,是倒序的) 每次运算时,先逐位计算好,然后考虑进位问题。 #include<iostream> using nam
阅读全文
洛谷 P1164 小A点菜 (动态规划)
摘要:正解走一遍,说明就不写了。 详见更多动态规划和背包问题 #include<iostream> #include<cstdio> using namespace std; int dp[101][10001]; int read() { int x=0,f=1; char ch=getchar();
阅读全文
洛谷 P1164 小A点菜 (dfs)
摘要:正解是动归,打dfs纯粹是为了练习递归和 回溯 总算搞懂怎么回溯了: for(int i=st;i<a;i++) { sum+=n[i]; dfs(i+1); sum-=n[i]; } 每次sum的值有了增量n[i],如果增加后的sum不满足条件,则sum会回到增加n[i]之前的值,代码见上。而且,
阅读全文
归并排序
摘要:由二分法,一个初始数列最终会被分成 n 个单个项,相当于 n 个排好序的数列。 对于已排好序的两个子数列,长度分别为L1,L2,每一次比较两个数列剩余项中的首项,并将较大项或较小项整合进入原数列,并从相应子数列中剔除,则最多经过L1+L2次比较,可以将原数列对应区段完成单调排序。 模板一: #inc
阅读全文
快速幂
摘要:二分指数,直至指数为0 对应地,底数每次平方 这样一来,运算次数至少减少了n-log(2,n)次 一个犇给出了一个从18s优化到0s的过程 <https://blog.csdn.net/qq_19782019/article/details/85621386> #include<iostream>
阅读全文
自然数高精度乘法
摘要:写完高精度加法,有了一点经验,然而出了更多的bug QAQ 包括但不仅限于子函数内声明二维数组爆栈、计算结果的1位迷之错误、暂存和(sumn)忘记重置、0作乘数时结果位要-1、把增加结果位数放错位置 喵的 洛谷的数据有点小弱,把ac的初代代码用在别的题里,各种各样的bug就出来了。查了半天才发现是高
阅读全文
正整数高精度加法
摘要:第一次手写高精度,调了1w遍 string 和 char数组是真的让人头疼。感觉用好这俩玩意必须狂补计算机导论。一开始我有点rz,非要把每一位计算结果存在字符串里,出了10w个bug——包括但不限于乱码、string类型变量的读写、string类型函数返回空串、指针无故消失 我这样的rz只配用int
阅读全文
快速排序
摘要:不妨挑选未排序区段最左边的项为基准(key) 做两个标记,左标记,右标记 把大于key的项往右移,小于key的项往左移 当标记重合的位置就是key的位置 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<al
阅读全文