头像

诚实ing

我要进腾讯!!!(远大目标{doge})




离线:2天前


最近来访(225)
用户头像
起きない皓流
用户头像
whale77
用户头像
种花家的市长
用户头像
兔宝宝
用户头像
hncsxzx
用户头像
ㅤ没运气的魚
用户头像
冰之韵
用户头像
fiko
用户头像
AK自动机
用户头像
wby0124
用户头像
心永向阳
用户头像
Mr.watanuo
用户头像
xyh2
用户头像
2010
用户头像
2010
用户头像
AC_Dragon
用户头像
是一个一个一个CE自动机啊啊啊啊啊啊啊啊啊啊啊啊啊
用户头像
ihz
用户头像
WA声闹彻明
用户头像
夜寐

新鲜事 原文

诚实ing
11天前
终于把第一页肝完了(累)
图片


新鲜事 原文

诚实ing
14天前
Acwing 还有人吗


新鲜事 原文

诚实ing
16天前
求大佬帮解(脑子泡了突然不会了qaq)
图片



诚实ing
17天前

class Solution {
public:
int get(int x) {
int res = 0;
while (x != 1) {
if (x % 2 == 0) x /= 2;
else x = x * 3 + 1;
res ++ ;
}
return res;
}

int getKth(int lo, int hi, int k) {
    vector<vector<int>> q;
    for (int i = lo; i <= hi; i ++ )
        q.push_back({get(i), i});
    sort(q.begin(), q.end());
    return q[k - 1][1];
}
};



诚实ing
17天前

class Solution {
public:
int maxNumberOfFamilies(int n, vector[HTML_REMOVED]>& reservedSeats) {
unordered_map[HTML_REMOVED] hash;
for (auto& seat: reservedSeats) {
int x = seat[0], y = seat[1];
if (y != 1 && y != 10)
hash[x] |= 1 << y - 2;
}

    int left = 0b11110000;
    int right = 0b00001111;
    int mid = 0b00111100;

    int res = n * 2 - hash.size() * 2;
    for (auto& [k, v]: hash) {
        if (!(v & left) || !(v & right) || !(v & mid))
            res ++ ;
    }
    return res;
}
};



诚实ing
17天前

class Solution {
public:
int findTheDistanceValue(vector[HTML_REMOVED]& a, vector[HTML_REMOVED]& b, int d) {
int res = 0;
for (int x: a) {
bool flag = true;
for (int y: b) {
if (abs(x - y) <= d) {
flag = false;
break;
}
}
if (flag) res ++ ;
}
return res;
}
};




诚实ing
17天前

/
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode
left;
* TreeNode
right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/

class Solution {
public:
TreeNode* getTargetCopy(TreeNode* original, TreeNode* cloned, TreeNode* target) {
    if (!original) return NULL;
    if (original == target) return cloned;

    auto left = getTargetCopy(original->left, cloned->left, target);
    auto right = getTargetCopy(original->right, cloned->right, target);

    if (left) return left;
    return right;
}
};



诚实ing
17天前

/
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode
left;
* TreeNode
right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode left, TreeNode right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
const int INF = 1e8;
int ans = 0;

vector<int> dfs(TreeNode* root) {
    vector<int> left{0, root->val, -INF};
    vector<int> right{0, INF, root->val};

    if (root->left) left = dfs(root->left);
    if (root->right) right = dfs(root->right);

    if (left[2] < root->val && root->val < right[1]) {
        int s = left[0] + right[0] + root->val;
        ans = max(ans, s);
        return {s, left[1], right[2]};
    }

    return {-INF, -INF, INF};
}

int maxSumBST(TreeNode* root) {
    dfs(root);
    return ans;
}
};


新鲜事 原文

诚实ing
17天前
在线提问:家族怎么加入啊



诚实ing
17天前
class Solution {
public:
int maxres = 0;

void dfs(TreeNode* o, bool dir, int len) {
    maxres = max (maxres, len);
    if (!dir)
    {
        if (o ->left) 
            dfs(o -> left, 1, len + 1);
        if (o ->right)
            dfs(o -> right, 0, 1);
    }
    else
    {
        if (o -> right)
            dfs(o -> right, 0, len + 1);
        if (o -> left) 
            dfs(o -> left, 1, 1);
    }
}

int longestZigZag(TreeNode* root) {
    if (!root)
        return 0;

    maxres = 0;
    dfs(root, 0, 0);
    dfs(root, 1, 0);

    return maxres;
}
};