第十四届蓝桥杯省赛C++B组个人代码(未检验)

2023-10-27

2023 年 4 月 8 日是蓝桥杯省赛,今年我参加的是 C++ 组 B 组,虽然说打得不是很理想,不过好在个人感觉省一问题不是很大,反正只要是省一对得多对得少都一样。

比赛中的代码是没法保存的,所以我借着新鲜的记忆,重新把我会写的题的代码都码了一遍,只是过了样例,不能保证是正确答案,不过思路大差不差,应该还是具有借鉴价值的吧。

A. 日期统计 (已通过民间数据)

235
#include <bits/stdc++.h>
const int n = 100;
bool check(std::string &s, std::string &t) {
    int j = 0;
    for (int i = 0; i < n; i++) {
        if (j < (int) t.size() && s[i] == t[j]) {
            j++;
        }
    }
    if (j == t.size())
        return true;
    return false;
};

int main() {
    std::string s = "5686916124919823647759503875815861830379270588570991944686338516346707827689565614010094809128502533";
    int ans = 0;
    std::string year = "2023";
    int d[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    for (int i = 1; i <= 12; i++) {
        std::string month = std::to_string(i);
        if (month.size() == 1) {
            month = "0" + month;
        }
        for (int j = 1; j <= d[i]; j++) {
            std::string day = std::to_string(j);
            if (day.size() == 1) {
                day = "0" + day;
            }
            std::string t = year + month + day;
            if (check(s, t)) {
                ans++;
            }
        }
    }
    std::cout << ans;
    
    return 0;
}

B. 01串的熵 (已通过民间数据)

11027421
#include "bits/stdc++.h"
double eps = 1E-4;
double get(int x, int y)
{
    double zero = 1.0 * x / (1.0 * (x + y));
    double one = 1.0 * y / (1.0 * (x + y));
    return -(x * zero * log2(zero) + y * one * log2(one));
}

int main() {
    int n = 23333333;
    for (int i = 0; i <= n; i++) {
        if (abs(get(i, n - i) - 11625907.5798) <= eps) {
            std::cout << i << '\n';
            return 0;
        }
    }
    return 0;
}

C. 冶炼金属 (已通过民间数据)

#include <iostream>
#include <cmath>
#define int long long
const int N = 1e4 + 1;
std::pair<int,int> a[N];
signed main()
{
    int n;
    std::cin >> n;
    int mx = INT_MAX;
    for (int i = 0; i < n; i ++) {
        std::cin >> a[i].first >> a[i].second;
        mx = std::min(mx, a[i].first / a[i].second);
    }
    int l = 1, r = 2e9, mn = r;
    while(l <= r) {
        int mid = (l + r) >> 1;
        bool ok = 1;
        for (int i = 0; i < n; i ++) {
            if(a[i].first / mid > a[i].second) {
                ok = 0;
                break;
            }
        }
        if(ok) {
            mn = mid;
            r = mid - 1;
        }
        else l = mid + 1;
    }
    std::cout << mn << ' ' << mx;
    
    return 0;
}

对于这种签到题,二分未免有点过于小题大做了,直接贪心即可

#include <iostream>
#include <cmath>
#define int long long
signed main()
{
    int n;
    std::cin >> n;
    int mx = INT_MAX, mn = 0;
    for (int i = 0; i < n; i ++) {
        int a, b;
        std::cin >> a >> b;
        mx = std::min(mx, a / b);
        mn = std::max(mn, a / (b + 1) + 1);
    }
    std::cout << mn << ' ' << mx;
    return 0;
}

D. 飞机降落 (已通过民间数据)

 

 听说这题可以用状压DP,不过我这种菜鸡显然只会全排列无脑暴力。毕竟复杂度也在允许范围内嘛~

复杂度 O(n\times n!) .

#include <iostream>
#include <algorithm>
struct node {
    int l, r, len;
};
node a[11];
int idx[11]; //存放下标的数组,便于全排列
void solve()
{
    int n;
    std::cin >> n;
    for (int i = 1; i <= n; i ++) {
        std::cin >> a[i].l >> a[i].r >> a[i].len;
        a[i].r += a[i].l;
    }
    for (int i = 1; i <= n; i ++)
        idx[i] = i;
    do {
        int rs = a[idx[1]].l + a[idx[1]].len;
        bool ok = 1;
        for (int k = 2; k <= n; k ++) {
            int i = idx[k];
            if(a[i].r < rs) {
                ok = 0;
                break;
            }
            rs = std::max(rs, a[i].l) + a[i].len;
        }
        if(ok) {
            std::cout << "YES\n";
            return;
        }
    }while(std::next_permutation(idx + 1, idx + n + 1));
    std::cout << "NO\n";
}

signed main()
{
    int t = 1;
    std::cin >> t;
    while(t --) {
        solve();
    }
    
    return 0;
}

E. 接龙数列 (已通过民间数据)

 

 这题很明显是需要DP的,正常的写法是复杂度 \small O(n^2) ,可以过前 50% 的数据点。

#include <iostream>
#include <vector>
#include <cstring>
const int N = 1e5 + 1;
int dp[N];

signed main()
{
    int n;
    std::cin >> n;
    std::vector<std::string> a(n + 1);
    for (int i = 1; i <= n; i ++) {
        std::cin >> a[i];
        dp[i] = 1;
        for (int j = 1; j < i; j ++) {
            if(a[i].front() == a[j].back()) {
                dp[i] = std::max(dp[i], dp[j] + 1);
            }
        }
    }
    int ans = 0;
    for (int i = 1; i <= n; i ++) {
        ans = std::max(ans, dp[i]);
    }
    std::cout << n - ans;

    return 0;
}

我们可以将其优化至 O(n) 复杂度,就可以过 100% 的数据点了

#include <iostream>
#include <vector>
#include <cstring>
const int N = 1e5 + 1;
int dp[N];
int pre[11];
signed main()
{
    memset(pre, -1, sizeof(pre));
    int n;
    std::cin >> n;
    std::vector<std::string> a(n + 1);
    for (int i = 1; i <= n; i ++) {
        std::cin >> a[i];
    }
    int ans = 0;
    for (int i = 1; i <= n; i ++) {
        int x = a[i].front() - '0';
        int y = a[i].back() - '0';
        if (pre[x] != -1)
            dp[i] = dp[pre[x]] + 1;
        else
            dp[i] = 1;
        ans = std::max(ans, dp[i]);
        if (pre[y] == -1)
            pre[y] = i;
        else if(dp[i] > dp[pre[y]])
            pre[y] = i;
    }
    std::cout << n - ans;
 
    return 0;
}

F. 岛屿个数 (已通过民间数据)

 

 

 

在最外面加一圈 0 ,然后从左上角开始往 8 个方向搜索0,形成的空洞,搜索空洞数量即可。

复杂度 O(T\times n^2) .

#include <iostream>
#include <vector>
#include <string.h>
#include <queue>

const int N = 55, black = -1; //用-1代表染黑的地方
int g[N][N], g2[N][N], st[N][N];
int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
int n, m;
int cur; //记录某个岛屿的编号

void color(int I, int J)
{
    std::queue<std::pair<int,int> > q;
    q.push({I, J});
    st[I][J] = 1;
    g2[I][J] = black;
    while(q.size()) {
        int x = q.front().first, y = q.front().second;
        q.pop();
        for (int i = 0; i < 8; i ++) {
            int xx = x + dx[i], yy = y + dy[i];
            if(0 <= xx && xx <= n + 1 && 0 <= yy && yy <= m + 1 && 
                    g[xx][yy] == 0 && st[xx][yy] == 0) {
                st[xx][yy] = 1;
                g2[xx][yy] = black;
                q.push({xx, yy});
            }
        }
    }
}

void bfs(int I, int J)
{
    std::queue<std::pair<int,int> > q;
    q.push({I, J});
    st[I][J] = 1;
    g2[I][J] = cur;
    while(q.size()) {
        int x = q.front().first, y = q.front().second;
        q.pop();
        for (int i = 0; i < 4; i ++) {
            int xx = x + dx[i], yy = y + dy[i];
            if(0 <= xx && xx <= n + 1 && 0 <= yy && yy <= m + 1 && 
                    g2[xx][yy] == 0 && st[xx][yy] == 0) {
                st[xx][yy] = 1;
                g2[xx][yy] = cur;
                q.push({xx, yy});
            }
        }
    }
}

void solve()
{
    memset(g, 0, sizeof(g));
    memset(g2, 0, sizeof(g2));
    memset(st, 0, sizeof(st));
    std::cin >> n >> m;
    for (int i = 1; i <= n; i ++) {
        for (int j = 1; j <= m; j ++) {
            char x;
            std::cin >> x;
            g[i][j] = x - '0';
        }
    }
    color(0, 0);
    cur = 0;
    for (int i = 0; i <= n + 1; i ++) {
        for (int j = 0; j <= m + 1; j ++) {
            if(g2[i][j] == 0) {
                cur++;
                bfs(i, j);
            }
        }
    }
    std::cout << cur << '\n';
}

signed main()
{
    int t = 1;
    std::cin >> t;
    while(t --) {
        solve();
    }

    return 0;
}

G. 子串简写 (已通过民间数据)

 

算是一个简单的签到题,直接存储下标,然后二分就行了,复杂度 \small O(nlogn) 。

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#define int long long
 
signed main()
{
    int k;
    std::cin >> k;
    std::string s;
    std::cin >> s;
    char c1, c2;
    std::cin >> c1 >> c2;
    int n = s.size();
    std::vector<int> a1, a2;
    for (int i = 0; i < n; i ++) {
        if(s[i] == c1)
            a1.push_back(i + 1);
        if(s[i] == c2)
            a2.push_back(i + 1);
    }
    int ans = 0;
    for (size_t i = 0; i < a1.size(); i ++) {
        if(a2.size() == 0)
            continue;
        int loc = std::lower_bound(a2.begin(), a2.end(), a1[i] + k - 1) - a2.begin();
        ans += (int)a2.size() - loc;
    }
    std::cout << ans;
 
    return 0;
}

H. 整数删除 (已通过民间数据)

 

这题比赛中只写出个暴力,也就是说只能过掉前 20% 的数据。不过这题其实是会写的,只不过赛中时间不是很多,就先打了个暴力做后面的去了(

O(n^2) 解法:

#include <iostream>
#include <cstring>
#include <algorithm>
const int N = 5e5 + 1;
int a[N];

signed main()
{
    int n, k;
    std::cin >> n >> k;
    for (int i = 1; i <= n; i ++) {
        std::cin >> a[i];
    }
    for (int i = 1; i <= k; i ++) {
        int loc = std::min_element(a + 1, a + n + 1) - a;
        a[loc - 1] += a[loc];
        a[loc + 1] += a[loc];
        for (int j = loc; j < n; j ++) {
            a[j] = a[j + 1];
        }
        --n;
    }
    for (int i = 1; i <= n; i ++)
        std::cout << a[i] << ' ';

    return 0;
}

优先队列解法 O(nlogn) :

#include "bits/stdc++.h"

using ll = long long;
std::priority_queue<std::pair<ll, int>, 
    std::vector<std::pair<ll, int>>, std::greater<std::pair<ll, int>>> q;

int main() {

    int n, k;
    std::cin >> n >> k;
    std::vector<ll> a(n);
    for (int i = 0; i < n; i++) {
        std::cin >> a[i];
    }

    for (int i = 0; i < n; i++) {
        q.push({a[i], i});
    }

    std::vector<int> pre(n), nex(n);
    std::iota(pre.begin(), pre.end(), -1);
    std::iota(nex.begin(), nex.end(), 1);

    while (q.size()) {
        auto Top = q.top();
        ll ai = Top.first;
        int i = Top.second;
        q.pop();
        if (ai != a[i]) {
            q.push({a[i], i});
            continue;
        }
        a[i] = -1;
        int Nex = nex[i];
        int Pre = pre[i];
        if (Nex < n) {
            a[Nex] += ai;
            pre[Nex] = Pre;
        }
        if (Pre >= 0) {
            a[Pre] += ai;
            nex[Pre] = Nex;
        }
        k--;
        if (k == 0) {
            break;
        }
    }

    for (int i = 0; i < n; i++) {
        if(a[i] != -1)
            std::cout << a[i] << ' ';
    }

    return 0;
}

I. 景区导游 (已通过民间数据)

 这题看似很难,其实是比较简单的算法题,需要用到 LCA 算法,比赛中我码了 40 多分钟,不过好在过了样例,没有出现 bug ,也是让我舒了一口气。

复杂度 O(n logn) .

#include <iostream>
#include <cstring>
#include <algorithm>
#define int long long
int n, k;
const int N = 1e5 + 5, M = 2e5 + 5;
int f[N][20], d[N][20];
int a[N], dep[N];
int d1[N], d2[N];
int h[N], ne[M], e[M], w[M], idx;
void add(int a, int b, int c)
{
    e[idx] = b; w[idx] = c; ne[idx] = h[a]; h[a] = idx++;
}

void dfs(int cur, int pre, int dis)
{
    dep[cur] = dep[pre] + 1;
    f[cur][0] = pre;
    d[cur][0] = dis;
    for (int i = 1; i <= std::__lg(dep[cur]); i++) {
        f[cur][i] = f[f[cur][i - 1]][i - 1];
        d[cur][i] = d[cur][i - 1] + d[f[cur][i - 1]][i - 1];
    }
    for (int i = h[cur]; i != -1; i = ne[i]) {
        int x = e[i];
        if (x == pre)
            continue;
        dfs(x, cur, w[i]);
    }
}

int lca(int u, int v)
{
    if (dep[u] < dep[v]) {
        std::swap(u, v);
    }
    int ans = 0;
    for (int i = (int) std::__lg(dep[u] - dep[v]); i >= 0; i--) {
        if (dep[f[u][i]] >= dep[v]) {
            ans += d[u][i];
            u = f[u][i];
        }
    }
    if (u == v)
        return ans;
    for (int i = (int) std::__lg(dep[u]); i >= 0; i--) {
        if (f[u][i] !=  f[v][i]) {
            ans += d[u][i];
            ans += d[v][i];
            u = f[u][i];
            v = f[v][i];
        }
    }
    return ans + d[u][0] + d[v][0];
}

signed main()
{
    memset(h, -1, sizeof(h));
    std::cin >> n >> k;
    for (int i = 1; i < n; i ++) {
        int u, v, w;
        std::cin >> u >> v >> w;
        add(u, v, w);
        add(v, u, w);
    }
    for (int i = 1; i <= k; i ++)
        std::cin >> a[i];
    dfs(1, 0, 0);
    int p1 = 0, p2 = 0;
    for (int i = 2; i <= k; i ++) {
        d1[p1++] = lca(a[i], a[i - 1]);
        if(i != 2)
            d2[p2++] = lca(a[i], a[i - 2]);
    }
    int sum = 0;
    for (int i = 0; i < p1; i++)
        sum += d1[i];
    for (int i = 1; i <= k; i ++) {
        int ans = 0;
        if(i == 1)
            ans = sum - d1[i - 1];
        else if(i == k)
            ans = sum - d1[i - 2];
        else ans = sum - d1[i - 1] - d1[i - 2];
        if(i != 1 && i != k) {
            ans += d2[i - 2];
        }
        std::cout << ans << ' ';
    }
    return 0;
}

J. 砍树 (已通过民间数据)

 

 这一题赛中已经没时间了(当时只剩20分钟了),所以就写了个 \small O(n^2) 的暴力(其实哪怕有时间也估计做不出来了)。

#include <iostream>
#include <algorithm>
const int N = 1e5 + 1;
int f[N];
std::pair<int,int> a[N], b[N];
int find(int x)
{
    if(x != f[x])
        f[x] = find(f[x]);
    return f[x];
}

signed main()
{
    int n, m;
    std::cin >> n >> m;
    
    for (int i = 1; i < n; i++) {
        int x, y;
        std::cin >> x >> y;
        a[i] = {x, y};
    }
    for (int i = 1; i <= m; i ++) {
        int x, y;
        std::cin >> x >> y;
        b[i] = {x, y};
    }

    for (int i = n - 1; i >= 1; i --) {
        for (int j = 1; j <= n; j ++)
            f[j] = j;
        for (int j = 1; j < n; j ++) {
            if(i == j)
                continue;
            int l = a[j].first, r = a[j].second;
            l = find(l), r = find(r);
            if(l != r)
                f[l] = r;
        }
        bool ok = 1;
        for (int j = 1; j <= m; j ++) {
            int l = b[j].first, r = b[j].second;
            l = find(l), r = find(r);
            if(l == r) {
                ok = 0;
                break;
            }
        }
        if(ok) {
            std::cout << i << '\n';
            return 0;
        }
    }
    std::cout << -1;

    return 0;
}

正解的话可以用 LCA + 树上差分,处理出每条树上边被 \small (a_i,b_i) 路径经过的次数,最大的被经过 m 次的边就是答案。

复杂度 O(nlogn) .

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
//#define int long long
int n, m;
const int N = 1e5 + 5, M = 2e5 + 5;
int f[N][20];
int dep[N], d[N];
int h[N], ne[M], e[M], idx;
void add(int a, int b)
{
    e[idx] = b; ne[idx] = h[a]; h[a] = idx++;
}
 
void dfs(int cur, int pre)
{
    dep[cur] = dep[pre] + 1;
    f[cur][0] = pre;
    for (int i = 1; i <= std::__lg(dep[cur]); i++) {
        f[cur][i] = f[f[cur][i - 1]][i - 1];
    }
    for (int i = h[cur]; i != -1; i = ne[i]) {
        int next = e[i];
        if (next == pre)
            continue;
        dfs(next, cur);
    }
}
 
int lca(int u, int v)
{
    if (dep[u] < dep[v])
        std::swap(u, v);
    for (int i = (int) std::__lg(dep[u] - dep[v]); i >= 0; i--) {
        if (dep[f[u][i]] >= dep[v]) {
            u = f[u][i];
        }
    }
    if (u == v)
        return u;
    for (int i = (int) std::__lg(dep[u]); i >= 0; i--) {
        if (f[u][i] !=  f[v][i]) {
            u = f[u][i];
            v = f[v][i];
        }
    }
    return f[u][0];
}

void dfs2(int cur, int pre) {
    for (int i = h[cur]; i != -1; i = ne[i]) {
        int next = e[i];
        if (next != pre) {
            dfs2(next, cur);
            d[cur] += d[next];
        }
    }
}
 
signed main()
{
    memset(h, -1, sizeof(h));
    std::cin >> n >> m;
    std::vector<std::pair<int,int> > edge(n);
    for (int i = 1; i < n; i ++) {
        std::cin >> edge[i].first >> edge[i].second;
        edge[i] = {edge[i].first, edge[i].second};
        add(edge[i].first, edge[i].second);
        add(edge[i].second, edge[i].first);
    }
    dfs(1, 0);
    for (int i = 1; i <= m; i ++) {
        int a, b;
        std::cin >> a >> b;
        int fa = lca(a, b);
        d[a]++, d[b]++;
        d[fa]--;
        d[f[fa][0]]--;
    }
    dfs2(1, 0);
    for (int i = n - 1; i >= 1; i --) {
        if(d[edge[i].first] == m && d[edge[i].second] == m) {
            std::cout << i;
            return 0;
        }
    }
    std::cout << -1;

    return 0;
}

日后有时间更新正解~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十四届蓝桥杯省赛C++B组个人代码(未检验) 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • Springboot Redisson Xxljob(Druid MySQL MybatisPlus) 对接使用

    前情提要 根据xxl job提供的springboot的基本对接代码 Github spingboot对接代码地址 根据业务需求 框架中需要接入druid mysql redis redisson等组件和框架 在springboot xxl
  • Python GUI案例之看图猜成语开发(第一篇)

    Python GUI案例之看图猜成语 第一篇 前言 爬取素材篇 看图猜成语小程序开发 第一篇 游戏首页 游戏首页完整代码 Python GUI案例之看图猜成语开发 第二篇 Python GUI案例之看图猜成语开发 第三篇 Python GU
  • 决策树分析例题经典案例_分析模型案例解析:决策树分析法

    1 1 基本概念 决策树分析法又称概率分析决策方法 是指将构成决策方案的有关因素 以树状图形的方式表现出来 并据以分析和选择决策方案的一种系统分析法 它是风险型决策最常用的方法之一 特别式勇敢于分析比较复杂的问题 她以损益值为依据 比较不同
  • python3安装mmseg库

    python3安装mmseg库 常见安装方法 错误的 正确的方法 常见安装方法 错误的 pip install mmseg 结果会出现问题 一直提示报错 具体报错示例如下图所示 网上很难找到有效地解决方法 可能不同的环境会有不同的报错信息
  • 【软件测试】测试用例八要素

    测试用例八要素 根据禅道 1 测试用例编号 编号是由字母和数字组合而成的 用例的编号应该具有唯一性 易识别性 有且于其和测试结果 错误报告等其他文档的链接 这样看到编号就可以知道是做的什么测试 测试的对象是什么 也方便维护 系统测试 产品编
  • appium、selenium、webdriver运行原理图解

    整理的appium selenium webdriver的运行原理图解 如果有不对的地方还请提醒 参考 Appium Selenium Webdriver 运行原理与机制 Appium实现原理 Appium原理整理总结
  • ORM框架概述

    现在各大公司比较流行的ORM框架有MyBatis Hibernate Spring Data JPA等 甚至一些公司会进行封装后成为自己公司专用的框架 相信后端方向的各位小伙伴都知道 ORM框架就是连接数据库的桥梁 比较官方的说法叫 对象关
  • 一个简单的Golang实现的HTTP Proxy方法

    最近因为换了Mac 以前的Linux基本上不再使用了 但是我的SS代理还得用 SS代理大家都了解 一个很NB的socks代理工具 但是就是因为他是Socks的 想用HTTP代理的时候很不方便 以前在Linux下的时候 会安装一个Privox
  • nestjs:typeorm对数据库中用驼峰命名字段转蛇形命名

    参考 postgresql TypeORM and Postgres competing naming styles Stack Overflow 总结 npm i save typeorm naming strategies const
  • 高等数学知识总结

    因为某些算法题和数学有着密不可分的联系 因此 我决定将我大一这一年来学的高等数学做一个全面的总结 有些知识已经记得不算太清 如果有错误的地方还请大佬及时指出 第一章 函数 极限与连续 第1节 初等函数 这一节就是高中的一些基本初等函数的的复
  • malloc与realloc的区别

    ANSI C说明了三个用于存储空间动态分配的函数 1 malloc 分配指定字节数的存储区 此存储区中的初始值不确定 2 calloc 为指定长度的对象 分配能容纳其指定个数的存储空间 该空间中的每一位 bit 都初始化为0 3 reall
  • 【问题解决】Linux下载安装sentencepiece库异常

    我本意是想安装allennlp库 但是卡在sentencepiece长时间不动 所以又去找了下载安装sentencepiece的方法 结果安装sentencepiece库也有问题 首先 给出一个下载sentencepiece库的链接 sen
  • 小鸡c++/python配置v5的环境问题

    改配置文件 解决SDK问题 SDK问题解决 解决VS2017 error LNK1104 无法打开文件 msvcprtd lib msvcprtd lib 错误 LNK1104 无法打开文件 kernel32 lib YoloV5Detec
  • spring boot(4)-html和templates

    静态页面 spring boot项目只有src目录 没有webapp目录 会将静态访问 html 图片等 映射到其自动配置的静态目录 如下 static public resources META INF resources 比如 在res
  • python中sql相关(查询、更新),以及sql参数化

    python连接数据库 查询 更新 import pymysql def beta mysql connect pymysql Connect host 1 1 1 1 port 3906 user user passwd pwd db d
  • <QT开发> QT开发工具-之-QT应用程序打包

    QT开发 QT开发工具 之 QT应用程序打包 一 前言 笔者为什么会写这篇文章呢 这是因为 笔者使用windows QT开发了一个测试工具 目的是通过TCP IP测试其它应用程序 首先这个QT程序是笔者自己开发的 所以笔者的电脑当然是可以运
  • Elasticsearch Unable to parse response body HTTP/1.1 413 Request Entity Too Large问题解决

    ERROR o s a i SimpleAsyncUncaughtExceptionHandler Unexpected exception occurred invoking async method public void org zs
  • 使用docker运行mysql:5.7

    本文档使用docker容器运行mysql 5 7版本 2 1 docker拉取mysql 5 7镜像 docker pull mysql 5 7 2 2 查看镜像是否拉取成功 docker image ls 2 3 启动mysql 5 7
  • [网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)

    这是作者的系列网络安全自学教程 主要是关于网安工具和实践操作的在线笔记 特分享出来与博友共勉 希望您们喜欢 一起进步 前文分享了Python网络攻防相关基础知识 包括正则表达式 Web编程和套接字通信 本文将继续分析Python攻防之多线程
  • 第十四届蓝桥杯省赛C++B组个人代码(未检验)

    2023 年 4 月 8 日是蓝桥杯省赛 今年我参加的是 C 组 B 组 虽然说打得不是很理想 不过好在个人感觉省一问题不是很大 反正只要是省一对得多对得少都一样 比赛中的代码是没法保存的 所以我借着新鲜的记忆 重新把我会写的题的代码都码了