09 2021 档案

摘要:insert函数结合矩阵加对后续元素的影响不难写出。 最后求和的时候,考虑到每次对b[i][j]的影响包含了其本身,只需加等于前面元素带来的影响。 1 #include <iostream> 2 using namespace std; 3 4 const int maxn = 2e3 + 10; 阅读全文
posted @ 2021-09-30 23:54 _vv123 阅读(185) 评论(0) 推荐(0)
摘要:我再也不手写栈了。。。 后缀表达式求值: 建立一个数据栈 如果遇到一个数,把它入栈 如果遇到运算符,弹出栈顶两个数,运算后把结果入栈 中缀转后缀: 建立一个运算符栈 如果遇到一个数,直接输出 如果遇到左括号,入栈 如果遇到左括号,不断弹栈直到栈顶为左括号 如果遇到运算符,不断弹栈直到栈顶的优先级高于 阅读全文
posted @ 2021-09-28 20:35 _vv123 阅读(44) 评论(0) 推荐(0)
摘要:调试漫谈:如果用vscode调试一定要保证路径和文件名没有中文 单链表 这个比较简单,注意插入在某个数的右边,应该先将“待改动”的数作为被赋值数。也就是说一定要先ne[idx] = head / ne[k],再考虑ne[k]/head = idx init: null -> -1 after: x 阅读全文
posted @ 2021-09-28 17:32 _vv123 阅读(64) 评论(0) 推荐(0)
摘要:SPFA是很简单的:普通队列,用du + w更新dv即可。判断是否in queue可以提高速度。 1 void spfa() { 2 memset(d, 0x3f, sizeof d); d[1] = 0; 3 q.push(1); inq[1] = true; 4 while (!q.empty( 阅读全文
posted @ 2021-09-24 00:15 _vv123 阅读(62) 评论(0) 推荐(0)
摘要:二分图的判定 核心思路 if (!color[v]) { if (!dfs(v, 3 - c)) return false; } else if (color[v] == color[u]) return false; 完整代码 #include <iostream> #include <vecto 阅读全文
posted @ 2021-09-16 23:29 _vv123 阅读(37) 评论(0) 推荐(0)
摘要:Experience: 1.如果本地ac而oj上re,很有可能是数组开小了 2. typedef int State[9];//相当于一种结构体,在st中作为数组的第二维 3.Cantor板子 int code = 0; for (int i = 0; i < 9; i++) { int cnt = 阅读全文
posted @ 2021-09-12 20:40 _vv123 阅读(135) 评论(0) 推荐(0)
摘要:warning:有bug待修 今天的线性代数课学了高斯消元解线性方程组,感觉很有意思,于是写了一个c语言小程序,功能如下: 1.把输入的矩阵经过初等变换,变成行阶梯形矩阵 2.判断方程组解的情况 3.如果有唯一解,输出方程组的解 实现的思路是枚举每一列,第i列从a[i+1][i]到a[m][i]依次 阅读全文
posted @ 2021-09-10 22:04 _vv123 阅读(1336) 评论(3) 推荐(0)
摘要:题意:有n头奶牛,重量为Wi,强壮度为Si。现以某种顺序叠罗汉,定义一头奶牛的风险值为:它上面的奶牛的总重量减去自身的强壮度。确定奶牛的排序使最大风险值最小。 假设我们还不知道按Wi+Si排序就是最优解 考虑相邻的两头奶牛i,i+1在交换前后风险值的情况 i i+1 交换前 W1+...+Wi-1 阅读全文
posted @ 2021-09-02 12:42 _vv123 阅读(82) 评论(0) 推荐(0)