
算法学习
肥仔甜甜
学习日记,欢迎评论。
展开
-
leetcode Majority Element 四种方法实现
LINK方法一:mapkey-数字 value-出现次数int majorityElement(vector<int> &num){ int ans = 0, mx = 0; map<int, int> m; for (auto ele : num) { if (m.count(ele)) ...原创 2019-05-19 14:29:43 · 285 阅读 · 0 评论 -
采药(背包)
题目链接//https://vijos.org/p/1104#include <iostream>#include <string.h>#include <algorithm>using namespace std;/* 在t的时间里最多采多少价值的药 0-1背包 */int dp[120][1003]; //dp[i][j]=m...原创 2019-05-16 20:47:46 · 266 阅读 · 0 评论 -
leetcode 分治 beautiful array
题目链接typedef vector<int> vi;class Solution{public: vi beautifulArray(int n) { if (n == 1) return vi(1, 1); vi left = beautifulArray((n + 1) / 2); v...原创 2019-05-18 21:27:34 · 167 阅读 · 0 评论 -
hdu1969 pie 二分
LINK#include <iostream>#include <math.h>using namespace std;#define PI acos(-1.0)#define eps 1e-5const int N = 1e4 + 100;double a[N], l, r, mid;int n, m, T;bool check(double x)...原创 2019-08-14 15:42:09 · 154 阅读 · 0 评论 -
hdu1536 S-Nim 博弈sg模板题 两种写法(递归+!递归)
题目描述给定n堆石子以及一个由k个不同正整数构成的数字集合S。现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合S,最后无法进行操作的人视为失败。问如果两人都采用最优策略,先手是否必胜。数据范围1≤n,k≤100,1≤si,hi≤10000样例2 2 513 2 4 7输出W定理1:对于集合S,mex(S)=mex({x...原创 2019-08-17 14:53:57 · 289 阅读 · 0 评论