算法和数据结构
记录算法刷题学习过程中的许多见解和心得
菜梨子不想这么菜!
ACM区域赛银牌、大数据开发工程师
展开
-
二分的核心就是四种情况
二分的核心就是四种情况选择(l + r)还是(l+r+1)取决于你想逼近左边还是逼近右边二分模板-来自于yxcbool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1; if (check(原创 2022-05-03 20:03:10 · 97 阅读 · 0 评论 -
质因数分解代码
质因数分解const int maxn = 5000005; // n:待分解质因数// tot:不同质因数的值// a[i]表示第i个质因数的值// b[i]表示第i个质因数的指数 int a[maxn], b[maxn]; int factor(int n){ int temp, now; temp = (int)((double)sqrt(n) + 1); int tot = 0; now = n; for(int i=2;i<=t原创 2021-07-18 16:26:34 · 540 阅读 · 0 评论 -
牛客网C/C++语言基础答案
1.你好,牛客#include<bits/stdc++.h>using namespace std;int main(){ printf("hello nowcoder"); return 0;}2.牛牛学说话之-整数#include<bits/stdc++.h>using namespace std;int main(){ int a; scanf("%d", &a); printf("%d", a原创 2021-07-04 15:19:01 · 1024 阅读 · 0 评论 -
浅谈leetcode11题盛最多水的容器和42题接雨水
11题要和42题结合起来看,42就是11的一个小变化,双指针类型的题目要求我们把握前后指针移动的过程,并且要明白每次移动的时候我们需要根据要求做哪些操作,不仅仅是一维可以使用双指针,在不少二维矩阵的情况中也可以通过双指针来解决问题11. 盛最多水的容器本题是一道非常经典的面试题,题目要求我们找出其中的两条线,使其能容纳尽量多的水常规暴力的做法就是O(n2)O(n^2)O(n2),两个for直接遍历,但这种做法非常的暴力,显得非常不优美,那让我们来看看双指针是如何来解决这道题的双指针,顾名思义,我们需原创 2021-05-30 22:26:26 · 201 阅读 · 0 评论 -
c++与java的文件输入输出
c++的文件输入输出采用freopen的方式#define INPUT "C:/input.txt"#define OUTPUT "C:/output.txt"int main() { // connect I/O streams to files freopen(INPUT, "r", stdin); freopen(OUTPUT, "w", stdout); int x; while (cin >> x) { cout << x <转载 2021-05-17 20:40:07 · 102 阅读 · 0 评论 -
acm写题,程序结果进行对拍
对拍是一种进行检验或调试的方法,通过对比两个程序的输出来检验程序的正确性。可以将自己程序的输出与其他程序的输出进行对比,从而判断自己的程序是否正确。对拍过程要多次进行,因此需要通过批处理的方法来实现对拍的自动化。具体而言,对拍需要一个 数据生成器 和两个要进行输出结果比对的程序。每运行一次数据生成器都将生成的数据写入输入文件,通过重定向的方法使两个程序读入数据,并将输出写入指定文件,最后利用 Windows 下的 fc 命令比对文件(Linux 下为 diff 命令)来检验程序的正确性。如果发现程序出转载 2021-05-15 23:24:25 · 183 阅读 · 0 评论 -
hdu oj最基础50题(2040-2050题)
hdu oj最基础100题(2040-2049题)题目地址:http://acm.hdu.edu.cn/listproblem.php?vol=11本博文旨在帮助部分跨考生从初试踏入复试,大家加油hhhhh本内容编写过程中仅使用最基本的c语言知识,不使用c++库文章目录hdu oj最基础100题(2040-2049题)2040.亲和数2041.超级楼梯2042.不容易系列之二2043.密码2044.一只小蜜蜂...2045.不容易系列之(3)—— LELE的RPG难题2046.骨牌铺方格2047.阿原创 2021-01-02 23:10:49 · 225 阅读 · 0 评论 -
hdu oj最基础50题(2030-2039题)
hdu oj最基础100题(2030-2039题)题目地址:http://acm.hdu.edu.cn/listproblem.php?vol=11本博文旨在帮助部分跨考生从初试踏入复试,大家加油hhhhh本内容编写过程中仅使用最基本的c语言知识,不使用c++库文章目录hdu oj最基础100题(2030-2039题)2030.汉字统计2031.进制转换2032.杨辉三角2033.人见人爱A+B2034.人见人爱A-B2035.人见人爱A^B2036.改革春风吹满地2037.今年暑假不AC2038.原创 2021-01-01 00:03:20 · 169 阅读 · 0 评论 -
hdu oj最基础50题(2020-2029题)
hdu oj最基础100题(2020-2029题)题目地址:http://acm.hdu.edu.cn/listproblem.php?vol=11本博文旨在帮助部分跨考生从初试踏入复试,大家加油hhhhh本内容编写过程中仅使用最基本的c语言知识,不使用c++库文章目录hdu oj最基础100题(2020-2029题)2020.绝对值排序2021.发工资咯:)2022.海选女主角2023.求平均成绩2024.C语言合法标识符2025.查找最大元素2026.首字母变大写2027.统计元音2028.Lo原创 2020-12-31 19:55:14 · 704 阅读 · 1 评论 -
hdu oj最基础50题(2010-2019题)
hdu oj最基础100题(2010-2019题)地址:http://acm.hdu.edu.cn/showproblem.php?pid=2000本博文旨在帮助部分跨考生从初试踏入复试,大家加油hhhhh本内容编写过程中仅使用最基本的c语言知识,不使用c++库文章目录hdu oj最基础100题(2010-2019题)2010.水仙花数2011.多项式求和2012.素数判定2013.蟠桃记2014.青年歌手大奖赛_评委会打分2015.偶数求和2016.数据的交换输出2017.字符串统计2018.母牛原创 2020-12-31 00:22:46 · 223 阅读 · 0 评论 -
hdu oj最基础50题(2000-2009题)
hdu oj最基础100题(2000-2009题)地址:http://acm.hdu.edu.cn/showproblem.php?pid=2000本博文旨在帮助部分跨考生从初试踏入复试,大家加油hhhhh本内容编写过程中仅使用最基本的c语言知识,不使用c++库文章目录hdu oj最基础100题(2000-2009题)2000.ASCII码排序2001.计算两点间的距离2002.计算球体积2003.求绝对值2004.成绩转换2005.第几天?2006.求奇数的乘积2007.平方和与立方和2008.数原创 2020-12-31 00:22:13 · 251 阅读 · 0 评论 -
三类最短路径算法简单介绍(Dijkstra、SPFA、Floyd)
三类最短路径算法简单介绍(Dijkstra、SPFA、Floyd)1.DijkstraDijkstraDijkstra算法解决单源最短路径问题常用 Dijkstra 算法,用于计算一个顶点到其他所有顶点的最短路径。Dijkstra 算法的主要特点是以起点为中心,逐层向外扩展(这一点类似于 bfs,但是不同的是,bfs 每次扩展一个层,但是 Dijkstra 每次只会扩展一个点),每次都会取一个最近点继续扩展,直到取完所有点为止。注意:Dijkstra 算法要求图中不能出现负权边。①、Dijkstra原创 2020-12-29 00:26:35 · 481 阅读 · 0 评论