ACM
Automannnn
愿你初心不改,归来仍是少年。
展开
-
基本算法练习-分苹果问题
这个问题乍一看,挺简单,但是实现起来,发觉无从下手。 它是找一个数,满足一个递推式,递推式有深度限制,递推式要求:先减去1,再乘以 N-1/N。 算法如下,并非我写的,至于其原理我暂时不懂:#include <iostream>using namespace std;int main(){ int num = 0; cin>&g...原创 2020-12-18 10:45:40 · 909 阅读 · 1 评论 -
基本算法练习——组合概率
问题描述: n个数组合为某一个特定数的概率。算法如下:#include<iostream>using namespace std;int zuhe(int n,int m){ int ret=1; while(m--){ ret*=n; } return ret;}int fun(int a,int b,int ...原创 2020-12-18 10:54:46 · 813 阅读 · 0 评论 -
基本算法练习——超市购物
问题描述: 最值问题。算法如下:#include <iostream>#include <algorithm>#include <vector>using namespace std;int main(){ int n; while(cin>>n){ int m; cin>>...原创 2020-12-18 10:54:36 · 709 阅读 · 1 评论 -
基本算法练习——将功赎过
问题描述: 查找特定范围十进制数集中的数的二进制中1的个数为特定个数的数量。算法内容:#include<iostream>#include <vector>using namespace std;int count_one_bits(int value){ int count =0; while (value){ v...原创 2020-12-18 10:54:22 · 236 阅读 · 0 评论 -
基本算法练习——上台阶
问题描述: 就是求枚举结果,不过是以 逻辑树的形式。算法如下:#include <iostream>using namespace std;int num;void cal(int m){ if(!m){ num++; return; } if(m-1>=0) cal(m-1); m=m-...原创 2020-12-18 10:54:14 · 370 阅读 · 0 评论 -
基本算法练习——字符判断
问题描述: 两个字符串,判断第二个字符串的所有字符均在第一个字符中出现过。算法如下:#include <iostream>using namespace std;int main(){ string s1,s2; cin>>s1>>s2; for(int i=0;i<s2.size();i++){ ...原创 2020-12-18 10:54:02 · 267 阅读 · 0 评论 -
基本算法练习——向量表示
问题描述: 属于一个偏向数据结构的问题,即统计重复的键的个数。算法如下:#include <iostream>#include <algorithm>#include <map>#include <vector>using namespace std;int main(){ string str; ...原创 2020-12-18 10:53:50 · 268 阅读 · 0 评论 -
基本算法练习——商队运输费
算法描述: 算法的本质是求最大流。算法内容:#include <iostream>#include <vector>using namespace std;int maxDis=0;void dfs(int idx,vector<bool>& visited,int& tmp,vector<vector<i...原创 2020-12-18 10:53:33 · 177 阅读 · 0 评论 -
基本算法练习——拦截导弹
问题描述: 大体上属于一个 寻找逆序数的过程。算法如下:#include <iostream>using namespace std;int main(){ int n; cin>>n; for(int i=0;i<n;i++){ int m; cin>>m; ...原创 2020-12-18 10:53:22 · 570 阅读 · 0 评论 -
基本算法练习——击鼓传花
问题描述: 递归问题,注意,不是最优问题。算法内容: #include <iostream>using namespace std;int num=0;int length =0;void cal(int n,int m){ if(!m){ if(n==length){ num++; ...原创 2020-12-18 10:53:07 · 580 阅读 · 0 评论 -
基本算法练习——web解码
问题描述: 就是设计一个状态机。代码如下:#include <iostream>#include <vector>using namespace std;string codes ="0123456789+-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";int main(){ ...原创 2020-12-18 10:52:52 · 177 阅读 · 0 评论 -
基本算法练习——聊天
问题描述: 多个时间段,查看是否有重合点。 本质上还是 一维数组 在数轴上的问题。算法如下:#include <iostream>#include <vector>using namespace std;vector<pair<int,int>> abss;vector<pair<int,int&g...原创 2020-12-18 10:52:27 · 291 阅读 · 0 评论 -
基本算法练习——三分线
问题描述: 表面上是一个 基于数列的 排列组合问题。算法内容:#include <iostream>#include <algorithm>using namespace std;int main(){ int n; cin>>n; int ns[n]; for(int i=0;i<n;i+...原创 2020-12-18 10:52:12 · 215 阅读 · 0 评论 -
基本算法练习——投篮游戏
问题描述: 跟哈希算法的碰撞检测有点类似,不过要简单很多。算法内容:#include <iostream>using namespace std;int main(){ int p,n; cin>>p>>n; int pss[p]; for(int i=0;i<p;i++)pss[i]=0; ...原创 2020-12-18 10:51:55 · 589 阅读 · 0 评论 -
基本算法练习——喷水装置
问题描述: 属于 几何里面的问题,最小覆盖问题,本质上与 灯塔问题是一致的,不过这里是二维的。代码如下:#include <iostream>#include <algorithm>using namespace std;int main(){ int n; cin>>n; double bs[n];...原创 2020-12-18 10:51:39 · 465 阅读 · 0 评论 -
基本算法练习——搬圆桌
问题描述: 就是一个圆滚动到另一个地方的最小步数。算法如下:#include <iostream>#include<algorithm>using namespace std;int main(){ double r,x,y,x1,y1; cin>>r>>x>>y>>x1&g...原创 2020-12-18 10:51:20 · 233 阅读 · 0 评论 -
基本算法练习——装载乘客
问题描述: 即排列序列不变的情况下,满足特定条件的最小和。 问题的本质是一个确定好的单一单向问题。代码如下:#include <iostream>using namespace std;int main(){ int n,m; cin>>n>>m; int num=1; int left =m...原创 2020-12-18 10:51:01 · 204 阅读 · 0 评论 -
基本算法练习——小赛的升级之路
问题描述: 就是个求最小公约数的问题。 代码如下:#include <iostream>using namespace std;long maxCom(long a,long b){ while((a-b)!=0){ if(a>b) a=a-b; else b= b-a; } return a;...原创 2020-12-18 10:50:43 · 124 阅读 · 0 评论 -
基本算法练习——回文串
问题描述: 即通过加一个字符,使得字符串是否满足回文串的要求。 代码如下:#include <iostream>#include <stack>#include <string.h>using namespace std;int main(){ string str; cin>>str; boo...原创 2020-12-18 10:50:27 · 232 阅读 · 0 评论 -
基本算法练习——下起楼来我最快
算法乍一看,是一个最优组合问题。 但是实际上是一个二选一的问题,为什么呢? 我想原因是: 如果中途换下楼途径具有更优解,则最开始就不应该使用这一种下楼途径。所以实际上是一个二选一的问题。 代码如下:#include <iostream>using namespace std;int main(){ long n,m; cin>&g...原创 2020-12-18 10:50:02 · 239 阅读 · 0 评论 -
基本算法练习——文艺青年爱文学
问题描述: 该问题本质是 最优组合问题。 其结构为 m叉树。 其中,m为变量。代码如下:#include <iostream>using namespace std;int minimum(int target,int a[],int b[],int pos){ //出栈条件 if(target<0) return 0;...原创 2020-12-18 10:49:33 · 171 阅读 · 0 评论 -
基本算法练习——接金币
问题描述: 实质上是求最优组合的问题。 代码如下:#include <iostream>#include <vector>using namespace std;int receive(vector<vector<int>>& matrix,int time,int pos,int maxT){ /...原创 2020-12-18 10:49:07 · 518 阅读 · 0 评论 -
基本算法练习——行编辑器
这个问题实际上就是对 栈数据结构的使用。 可以自己模拟,也可以使用库函数。 但是碰到一个巨坑巨坑巨坑的问题: 即cout输出char* 的问题。 当字符指针包含的字符数小于等于8时,输出不能正常判别结尾。 代码如下:#include <iostream>#include <string.h>#include <stack>u...原创 2020-12-18 10:48:40 · 359 阅读 · 0 评论 -
基本算法练习——研究生考试
这个问题基本上没难度,送分题,是我做类似的算法题以来遇到的最简单的问题。 代码如下:#include <iostream>using namespace std;string inline judge(int a,int b,int c,int d){ if(a<60||b<60||c<90||d<90) return "Fail";...原创 2020-12-18 10:48:15 · 305 阅读 · 0 评论 -
基本算法练习__约会问题
这类问题与迷宫问题的走法有些类似,即经过多少步是否可以从起点到终点的问题。 代码如下:#include <iostream>using namespace std;int main(){ int a,b,s; cin>>a>>b>>s; int sum = abs(a)+abs(b); if(sum&...原创 2020-12-18 10:47:50 · 277 阅读 · 0 评论 -
基本算法练习——比较大小
问题描述: 该问题实际上就是 求在一个排列中所占用的序号。代码如下:#include <iostream>#include <vector>#include <string>using namespace std;vector<char*> strings;string firstItem="abcdefghij...原创 2020-12-18 10:47:27 · 508 阅读 · 0 评论 -
基本算法练习_日期倒计时
作用: 该问题就是求 未来某个日期 与特定日期的天数差。 代码如下:#include <iostream>using namespace std;int years[2]={365,366};int _month[2][12]={31,28,31,30,31,30,31,31,30,31,30,31, 31...原创 2020-12-18 10:46:54 · 303 阅读 · 0 评论 -
基本算法练习--马路上的路灯
这个跟 路灯问题有点像,思路也比较简单,代码如下:#include <iostream>#include <algorithm>using namespace std;typedef struct { int start; int end;}Line;bool compare(Line la,Line lb){ return...原创 2020-12-18 10:46:03 · 340 阅读 · 0 评论 -
基本算法练习—车站问题
车站问题,实际上就是 求某个队列中,一段时间的最大和;代码简单,如下:#include <algorithm>using namespace std;int main(){ int num; cin>>num; int* a; a = new int; int* b; b = new int; for(int i=0;...原创 2020-12-18 10:44:43 · 843 阅读 · 0 评论 -
基本算法练习-路灯问题
路灯问题: 类似于 移动蜂窝网,求蜂窝的最小覆盖距离。 只不过这里换成了一维的。代码如下:#include <iostream>#include<algorithm>using namespace std;int main(){ int lampNum; int len; int* lampArray; ...原创 2020-12-18 10:43:59 · 1243 阅读 · 0 评论 -
基本算法练习-约德尔测试
约德尔测试的问题是: 给定两个串,比较相似度。 涉及到几个点我没有思路: 1.判断 字符是否为 字母和数字; 2.输出 除法的结果,保留两个单位小数; 最后的结论: 1.字符串比较可以直接使用 'a','z'以及 '0','9'的方式,无需assci码号。 但是要注意大小关系,'0'-'...原创 2020-12-18 10:43:19 · 204 阅读 · 0 评论 -
基本算法练习-翻转数组
翻转数组是这样的一类问题: 即将 某一个数组的局部翻转后, 使得整体数组有序。以升序为例。 我的思考是将数组分为三段: 引入 左指针,右指针;其中,左指针往右推送,直至不再升序退出,右指针往左推送,直至不再降序时退出。 最后 从左指针 到右指针 之间的值 断言是否为 降序。算法如下:#include<iostream>using n...原创 2020-12-18 10:42:29 · 314 阅读 · 0 评论 -
基本算法练习-股神问题
闲来无事,准备了下面试,东厂西厂都需要笔试算法,被逼无赖去学习算法。 原来 c++ 和 算法更配哦!! 也只好用了c系语言后,才体会到算法的快落。 股神问题是这样的一个数列:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...... 1 1 -1...原创 2020-12-18 10:41:46 · 314 阅读 · 0 评论 -
acm算法扫盲-图论
1.拓扑排序: acm-图论-拓扑排序2.最小生成树: 最小生成树的练习 acm-最小生成树之畅通工程3.最短路: 在图中找最短路 ACM_最短路模板(SPFA,Dijkstra,Floyd)4.二分图: ACM—二分图匹配—匈牙利算法和KM算法5.网络流: ...转载 2019-04-07 15:42:48 · 414 阅读 · 0 评论 -
acm算法扫盲-数学
一.组合数学 1.排列组合: ACM学习历程21----各种排列组合问题 2.递推关系: ACM递推专题 3.容斥原理: ACM数论之旅---容斥原理 4.抽屉原理: ACM数论之旅---抽屉原理 5.置换群与polya定理: a...转载 2019-04-06 16:13:10 · 415 阅读 · 0 评论 -
acm算法扫盲-搜索
1.深度优先搜索DFS: 二叉树的深度优先搜索2.广度优先搜索BFS: 动态展示十大经典算法3.双向搜索: 双向广度优先算法4.启发式搜索: A*算法入门5.记忆化搜索: 算法导论学习-动态规化之记忆化搜索...转载 2019-04-05 22:07:41 · 180 阅读 · 0 评论 -
acm算法扫盲-基本算法
1.枚举: 出处:ACM枚举法讲解和练习 使用特点: 数学模型参数尽量少;减少搜索空间;采用合适的搜索顺序;2.贪心算法 原文地址:ACM贪心算法 将上述中红色的注释部分改为: f[i]<=s[j];3.递归和分治: 分治算法在归并排序的使用4.递推算法: ACM递推专题...转载 2019-04-05 21:18:38 · 787 阅读 · 0 评论 -
acm常用算法扫盲
原文地址:ACM常用算法分类转载 2019-04-04 22:19:51 · 302 阅读 · 0 评论 -
acm算法扫盲-计算几何
1.几何公式: ACM几何基础篇2.叉积和点积的运用: ACM算法讲堂之-计算几何基础3.多边形的简单算法: ACM几何基础篇4.凸包: 数学:凸包算法详解5.扫描线算法: 计算机图形学:X-扫描线算法6.多边形的内核: poj-3130,求多边形的核...转载 2019-04-06 14:44:19 · 1047 阅读 · 0 评论