摘要: 一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返回值,关于区间的左闭右开等很容易出错,最近做题发现直接使用STL中的二分函数方便快捷还不会出错,不过对于没有接触过的同学,二分函数确实是一个头疼的部分,自己查的内容又有点乱,找不到具体的使用方法,有必要自己总结一份完整的以后备用 阅读全文
posted @ 2021-12-18 23:17 Altwilio 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 暴力算法的时间复杂度是O(n^2),考虑优化; 先导入一种思想——断环为链。说通俗点就是在原数组后面再接上下标为1——(n - 1)的元素; 以样例为例:-3 5 1 2;我们将其断环为链后可以得到这样的一维数组:-3 5 1 2 -3 5 1; 设其下标为1——7;当k=1时,判断下标1——4;当 阅读全文
posted @ 2021-12-16 21:29 Altwilio 阅读(71) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-12-15 22:26 Altwilio 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 给我整蒙了!!!我爱单调队列!!! 阅读全文
posted @ 2021-12-08 22:28 Altwilio 阅读(14) 评论(0) 推荐(0) 编辑
摘要: #include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue<int> q; //参数是数据类型,这是队列的定义方式 栈: s.empty()//如果栈为空返回true,否则返回false s.size( 阅读全文
posted @ 2021-12-02 23:07 Altwilio 阅读(36) 评论(0) 推荐(0) 编辑
摘要: P1226 【模板】快速幂||取余运算 #include<bits/stdc++.h> #define LL long long using namespace std; LL quick_pow(int a, int b, int p){ LL res = 1 % p; while(b){ if( 阅读全文
posted @ 2021-11-30 23:58 Altwilio 阅读(51) 评论(1) 推荐(0) 编辑
摘要: 约瑟夫问题 约瑟夫问题:P1996 约瑟夫问题 洛谷 n 个人围成一圈,从第一个人开始报数,数到 m的人出列,再由下一个人重新从 1 开始报数,数到 m的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。 思路通过结构体存储每一个编号,并存储 pre, nxt,循环处理报到 m就将(输 阅读全文
posted @ 2021-11-30 23:01 Altwilio 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1.赋值为无穷大memset(a, 127, sizeof(a))或者memset(a, 0x7F, sizeof(a))加法防止溢出时赋值为63, 0x3F 2.赋值为无穷小memset(a, 128, sizeof(a))或者memset(a, 0x80, sizeof(a)) 3.赋值为-1 阅读全文
posted @ 2021-11-24 22:02 Altwilio 阅读(28) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-11-24 21:52 Altwilio 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 看到了一篇不错的高精教程:(devillaw_zhc) 1.加法 就是 从个位开始 两个数字相加,如果有进位,就加到十位,再算十位相加,……2.减法 也是从个位开始 两个数字相减,如果得到的数字小于 0,那么就加上 10,并且把被减数的十位减一,……3.乘法 第一个数乘以第二个数的个位,写下来,右边 阅读全文
posted @ 2021-11-18 19:43 Altwilio 阅读(100) 评论(0) 推荐(0) 编辑