排错日志
排错会花费很大的时间代价。通常会让我。。。 错误多种多样,多次犯下未初始化或初始化错误的错误。比如2021.10.1日再写P1080 [NOIP2012 提高组] 国王游戏 的时候,对于乘积的初始化错误,一开始是判断出初始化错误的,但没有相信自己。初始化错误的表现在某些特殊样例面前可以通过,如在刚刚提到的题目中,如果国王左手上的数字为1,则输出正确。对于固定输入,错误输出可能不固定(未出始化)。解决仔细研读题目,看看变量之间的相关性,相关变量运算时是否有遗漏,看输入数据,看看输出错误的数据,和输出正确数据间的不同,输出正确的输入有什么特殊性
洛谷-P1590 失踪的7
link 废话不多说,直接思路+题解。。。 思路具体思路是计算出每一个数对总方案数的贡献方法数,然后求和就好了。比如n=4321:1 的贡献值:很明显是1,只能有1这一种可能性。2 的贡献值:注意在十位,所以贡献值应该是 $2∗9^1$3 的贡献值:在百位,应该是 $3∗9^2$4 的贡献值:在千位,应该是 $49^3$所以某一个数的设位数为b,值为a贡献值就是 $a9^{b-1}$然而,如何去证明呢?很简单,因为7不可用,每一位自然有9个选择那么根据乘法原理,一位数随机排列为9种,两位数为81种,n位数就是 $9n9^n$9n 种,也就是 说,0-99999....9就可以用乘法原理来算,如果去掉0这种情况,再加上100000......0这 种情况,一加一减抵消了,总数没有变。就变成了1-100000......0的总数为 $a*9^b$种。 至此,我们就证明完了贡献值公式是正确的,但是,为什么总数是这些贡献值加起来呢?我们用位置原理 ...
String模板
写在开头:学习 用这是一些总结的方法不喜勿喷。。。 string 系列 转字符12345678910string Transfer_character(int n){ //将n转为字符 string a; while (n) { a.append(1, (char)(n % 10 + 48)); n /= 10; } return a;} 注意:转换过后是倒序! 例: n = 14458 则 a = 85441 去零 1234567void Remove_0(string *a){ //去'0' while (a->at(a->length() - 1) == '0' && a->size() > 1) { a->erase(a->length() - 1, 1); }} 转数字 (也是逆序) 1234567891011int trann(string str)...
高精度模板
[TOC] 高精度系列倒存处理1234567891011121314151617181920212223242526272829303132333435363738394041 string A, B; cin >> A >> B; int len = max(A.length(), B.length()); for (int i = A.length() - 1, j = 1; i >= 0; ++j, --i) ar[j] = A[i] - '0'; for (int i = B.length() - 1, j = 1; i >= 0; ++j, --i) br[j] = B[i] - '0';``` A+B```cpp#include <iostream>#include <algorithm>#include <string>using namespace std;#define Maxlen...
AutoFM
AutoFM Explain Old Python Version 功能 代码 AutoFM命令列表 1234567$ autofm --helpUsage: autofm --help // print help information autofm // current folder as root autofm --init (-i) // init model for the whole folder autofm --force (-f) // use force model to cover the old front matter autofm --ct (-c) // Re generate categories and tags Explaininit model:只会处理没有 Front-matter 的文章或者补全CT Model: 重新生成 categories and tags Old Python VersionHexo使用自动Front-matter生成器为每篇文章(包括新文章)添加...
Interesting Problems
Q:编程实现输入两个整数a,b,当a≥b时,输出a的值,否则输出0。你知道如何不使用 if,switch以及 3 目运算符,来解决这个问题么?A: 先将a和b进行比较,t=(a>b),当a>b时为真则t为1,否则是假t为0,为真a大要是输出为a则ta就行,反之0a=0,满足了否输出了0的条件,合并起来就是 printf(“%d”,(a>b)*a);
历史遗留问题
幻方,逆序对C++短路性···cppif(a||b||c)中只要a为truth,b,c将不再计算if(a&&b&&c)中只要a为flash,b,c将不再计算 在本地写文章发布后链接失效。 启发式合并迪杰斯特拉算法用树的重心分解问题二维前缀和综合方法不要给大型全局变量赋初值,Maybe 编译超时,且生成可执行文件大;滑动窗口 单调队列 CCF的逻辑:越复杂的程序越好;2020csp-s初赛阅读T3好好的O(nlogn)的STl的Map和queue不用,一定要自己手写线性的Map和Queue 用冒泡,想到逆序对 想到滑动窗口 然后写挂了 只好继续交暴力+优化mudertimetrio : 单调队列?!我直接每次只枚举<=ans的子序列 同时继续更新ans 省赛,强制在线,可以离线离线 在线算法(提高组不常见):在线:每次询问后,立马可以得到查询结果离线:需要知道所有要查询的值,然后一口气查询出所有结果RMQ 二分图 c++...
学习资源
社区 题库 社区CSDN C语言网 题库题库包含一些学习资料洛谷 CCF OJ 科丁乐 力扣
构造题
决定性的过程,之后就觉得非常简单,美
编程入坑指南
首先,用一篇大佬的文章引入:这可能是我见过最好的编程指南了!这篇文章讲述了关于 编程语言的选择 学习编程需要的知识基础 编程学习计划的制定 知识的整理(笔记,博客) 编程学习的方法和资料选择等。 总之是一份详细的编程指南,那么,本博客的意义何在?体现在目录中啊~ 分门别类的介绍 算法 学习资源 分门别类的介绍算法如果是想学习算法的话,你可以去OI Wiki,它上面有着完备的算法竞赛的相关的知识。 学习资源菜鸟教程