philos
philos
全部文章
分类
未归档(12)
题解(63)
归档
标签
去牛客网
登录
/
注册
philos的博客
TA的专栏
75篇文章
0人订阅
算法题解
64篇文章
1825人学习
复旦历年机考题解
11篇文章
643人学习
全部文章
(共75篇)
怪异的洗牌
来自专栏
思路 模拟整个过程就好了,数组循环移位+数组逆序 #include<iostream> #include<vector> #include<numeric> using namespace std; void shift_flip(vector<int&...
2021-03-14
1
586
数字阶梯求和
来自专栏
大数加法,要用到字符串去存数字,其实也蛮简单的,因为先对齐位置,再进行加减就好了,其中存好每一次的进位 carry,每一次进行相加的有 i 个 a #include<iostream> #include<cmath> using namespace std; int ma...
2021-03-13
1
739
最大公约数
来自专栏
更相减损法和辗转相除法 #include<iostream> using namespace std; //辗转相除 int gcd1(int num1, int num2){ if(num2 == 0) return num1; return gcd1(num2, n...
2021-03-12
1
542
ZOJ问题
来自专栏
思路 其实主要也就是 zoj 中间和两边 o 的个数的规律,标记为 left, middle, rigt left = right,middle = 1,可以 AC 由上面可以知道 nzojn (n 表示 n 个 'o') 是可以 AC 的,n ≥ 0,那么 nz 2 j (2n) 也是可以 AC...
2021-03-11
0
595
EXCEL排序
来自专栏
简单排序 #include<iostream> #include<vector> #include<algorithm> using namespace std; struct Student{ string id, name; int gra...
2021-03-11
0
561
最大连续子序列
来自专栏
思路 动态规划题目,我们用 dp[i] 表示以 nums[i] 结尾的连续子序列的最大元素和,则: dp[i] < 0,dp[i + 1] = nums[i + 1] dp[i] > 0,dp[i + 1] = dp[i] + nums[i + 1] 因为要输出首尾元素,其中尾部元素...
2021-03-10
1
673
开门人和关门人
来自专栏
思路 其实本质上就是对签到记录按照签到时间或者签离时间进行排序,第一个签到的开门,最后一个签离的关门,但是如果只是找到最值的话,没必要进行排序,用两个变量记录一下就好了。 #include<iostream> #include<vector> using namespace...
2021-03-10
17
981
畅通工程
来自专栏
思路 并查集求出有多少个连通分支即可,这几道并查集的题目都可以用模板解的,下面这个模板没有很完整,所以用的时候够用就行,并且其实不新建一个类也行,我只是想告诉大家整个并查集的逻辑。 #include<iostream> #include<vector> #include<...
2021-03-07
1
588
欧拉回路
来自专栏
思路 首先欧拉回路是一个连通图,这个可以用并查集的模板来写,下面详尽的写了并查集的一个模板,具体关于并查集的知识我就不叙述了。 然后还要满足所有顶点的度为偶数,这个因为已经给出了各条边,很容易求出来度数 其中需要注意以下几点: 自环不用算,因为去掉自环也不会产生影响,但是加上自环的话会让度数计算产...
2021-03-06
1
719
后缀子串排序
来自专栏
使用 set 就好了 #include<iostream> #include<set> using namespace std; int main(){ string s; while(cin >> s){ set<str...
2021-03-05
0
488
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页