2025.2.14——1400
2025.2.14——1400
A 1400
B 1400
C 1400
D 1400
E 1400
F 1400
G 1400
H 1400
------------------------------------------------
A
- 一眼想到的是维护信息计数。
- 维护两个信息同时用长的一半去找短的一半。
- 较好的思维题。
B
- 贪心匹配:优先使用最小的匹配合法最小的。
- 排序+双指针/二分/队列匹配。
C
- 出现一次,子数组也是子序列,所以不能再出现了。
- 发现边界是控制出现与否的充要条件。
D
- 从每一位考虑,最初以为 k k k 每一位都需要出现,其实不是,但可以凭借这个思路计算出区间按位与具体数的。
- 另解:今天才知道 s t st st 表可以维护区间按位与、按位或值。
E
- 逆向思维+优化模拟:指针移动+找循环。
- 思维量挺多。
F
- 数学题。证明无解不太懂,限制次数过了。 洛谷题解。
G
- LCM与GCD问题,数学一下分析因子。
H
- 横向纵向分别考虑。横向可转化为纵向。
- 考虑纵向:交替发现对纵向平衡性无影响。同时对两行平衡性无影响且无后效性。
------------------------代码------------------------
A
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;// cin >> T;while (T--)_();return 0;
}int has[6][46];
auto sum(string s, int l, int r)
{int ans = 0;for (int i = l; i <= r; i++)ans += s[i] - '0';return ans;
}
auto sum(string s)
{int ans = 0;for (auto v : s)ans += v - '0';return ans;
}
auto tar_sum(string s, int l, int r)
{return 2 * sum(s, l, r) - sum(s);
}
void _()
{int n;cin >> n;vector<string> s(n);for (auto &v : s){cin >> v;has[v.size()][sum(v)]++;}int res = 0;for (auto l : s){int ln = l.size();for (int i = 2; i <= 10; i += 2){int rn = i - ln;if (rn <= 0 || rn > ln)continue;int tar_r = tar_sum(l, 0, i / 2 - 1);if (tar_r < 0)continue;res += has[rn][tar_r];}}for (auto r : s){int rn = r.size();for (int i = 2; i <= 10; i += 2){int ln = i - rn;if (ln <= 0 || ln >= rn)continue;int tar_l = tar_sum(r, rn - i / 2, rn - 1);if (tar_l < 0)continue;res += has[ln][tar_l];}}cout << res;
}
// int has[6][46][6][46];
// void _()
// {
// memset(has, 0x3f, sizeof has);
// int n;
// cin >> n;
// // struct Node
// // {
// // /* data */
// // int len, sum, prelen, presum;
// // };
// // map<Node, int> has;
// auto get_suf = [&](string s, int suf)
// {
// int sum = 0, m = s.size();
// for (int i = m - 1; i >= m - suf; i--)
// sum += s[i] - '0';
// return sum;
// };
// auto get_pre = [&](string s, int pre)
// {
// int sum = 0, m = s.size();
// for (int i = 0; i < pre; i++)
// sum += s[i] - '0';
// return sum;
// };
// int res = 0;
// for (int i = 0; i < n; i++)
// {
// string s;
// cin >> s;
// res++;
// int m = s.size();// for (int sum = 0; sum <= 90; sum += 2)
// for (int len = 2; len <= 10; len += 2)
// {
// int tar_sum = sum - get_pre(s, m);
// int tar_len = len - m;
// // bug3(len, m, tar_len);
// if (tar_sum < 0 || tar_len < 0 || tar_len > 5 || tar_sum > 45)
// continue;
// int half = len >> 1;
// if (m >= tar_len)
// {
// if (get_suf(s, half) << 1 == len)
// {
// for (int i = 1; i <= 5; i++)
// for (int j = 0; j <= 45; j++)
// res += has[tar_len][tar_sum][i][j];
// }
// }
// else
// {
// // bug2(tar_len, tar_sum);
// // bug2(half, tar_sum >> 1);
// res += has[tar_len][tar_sum][half][tar_sum >> 1];
// }
// }
// int sum = get_pre(s, m);
// for (int i = 0; i < m; i++)
// has[m][sum][i + 1][get_pre(s, i + 1)]++, bug(has[m + 1][sum][i][get_pre(s, i + 1)]);
// }
// cout << res;
// el;
// }
B
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n;cin >> n;vector<pair<int, int>> a;for (int i = 0; i < n; i++){int x;cin >> x;a.push_back({x, -1});}for (int i = 0; i < n; i++){int x;cin >> x;a.push_back({x, 1});}sort(begin(a), end(a));int res = n;queue<int> q;for (auto [x, y] : a){if (y == -1)q.push(x);else{if (q.size() && x > q.front())res--, q.pop();}}cout << res << '\n';
}
// void _()
// {
// int n;
// cin >> n;
// vector<int> a(n), b(n);
// for (int &x : a)
// cin >> x;
// for (int &x : b)
// cin >> x;
// sort(begin(a), end(a));
// sort(begin(b), end(b));
// int l = 0, r = 0, res = n;
// for (; r < n; r++)
// if (a[l] < b[r])
// l++, res--;
// cout << res;
// el;
// }
C
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n;cin >> n;vector<int> a(n + 1), f(n + 1), g(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];map<int, bool> has;for (int i = 1; i <= n; i++)if (!has[a[i]])f[i] = 1, has[a[i]] = 1;has.clear();for (int i = n; i; i--)if (!has[a[i]])g[i] = 1, has[a[i]] = 1;int pre = 0, res = 0;for (int i = 1; i <= n; i++){pre += f[i];res += pre * g[i];}cout << res;el;
}
D
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n;cin >> n;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];vector<vector<int>> pre(30, vector<int>(n + 1));for (int i = 0; i < 30; i++)for (int j = 1; j <= n; j++)pre[i][j] = pre[i][j - 1] + (a[j] >> i & 1);// ST表 RMQ 倍增// dp[i][j] 以i为起点 长度为1<<j的区间的最大值vector<vector<int>> dp(n + 1, vector<int>(32));// initfor (int j = 0; j < 30; j++) // j 是每一层状态for (int i = 1; i <= n; i++){if (i + (1 << j) - 1 > n)continue;if (!j)dp[i][j] = a[i];elsedp[i][j] = dp[i][j - 1] & dp[i + (1 << j - 1)][j - 1];}// queryauto ask = [&](int l, int r){int k = __lg(r - l + 1);return dp[l][k] & dp[r + 1 - (1 << k)][k];};auto ok = [&](int l, int r, int k){// int ans = 0;// for (int i = 0; i < 30; i++)// {// if (pre[i][r] - pre[i][l - 1] == (r - l + 1))// ans += 1ll << i;// }// return ans >= k;return ask(l, r) >= k; // ST表只需这一句};// bug(ok(1, 1, 7));// bug(ok(1, 2, 7));int q;cin >> q;while (q--){int L, k;cin >> L >> k;int l = L - 1, r = n + 1;while (r - l - 1){int R = l + r >> 1;if (ok(L, R, k))l = R;elser = R;}// bug2(l, r);cout << (l < L ? -1 : l) << ' ';}el;
}
E
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n, k;cin >> n >> k;vector<int> a(n + 1);for (int i = 1; i <= n; i++)cin >> a[i];int f = n;vector<int> vis(n + 1);while (k--){if (a[f] > n){cout << "No";el;return;}vis[f] = 1;f = (f - a[f] + n) % n;if (vis[f])break;}// k %= cnt;// while (k--)// f = a[f];// for (int i = f + 1; i <= n; i++)// cout << a[i] << ' ';// for (int i = 1; i <= f; i++)// cout << a[i] << ' ';cout << "Yes";el;
}
F
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n, m;cin >> n >> m;n % m;int cnt = 100, res = 0;while (cnt--){if (n % m == 0){cout << res;el;return;}while (n < m){res += n;n <<= 1;}n %= m;}cout << -1;el;
}
G
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;// cin >> T;while (T--)_();return 0;
}void _()
{int n, m;cin >> n;vector<int> t(n);map<int, int> a, b;for (int &x : t)cin >> x;for (int i = 0; i < n; i++){int x;cin >> x;a[t[i]] = x;}cin >> m;t.assign(m, 0);for (int &x : t)cin >> x;for (int i = 0; i < m; i++){int x;cin >> x;b[t[i]] = x;}constexpr int mod = 998244353;int res = 1;for (auto [x, y] : b)if (a[x] < y)res = 0;for (auto [x, y] : a)res *= y > b[x] ? 2 : 1, res %= mod;cout << res;el;
}
H
#include <bits/stdc++.h>
#define int long long //
#define endl '\n' // attention: interactive/debug
#define el cout << endl
using namespace std;
#define bug(BUG) cout << "bug:# " << (BUG) << endl
#define bug2(BUG1, BUG2) cout << "bug:# " << (BUG1) << " " << (BUG2) << endl
#define bug3(BUG1, BUG2, BUG3) cout << "bug:# " << (BUG1) << ' ' << (BUG2) << ' ' << (BUG3) << endl
#define bugv(VEC) \{ \for (auto Vec : VEC) \cout << Vec << ' '; \el; \}void _();
signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cout << fixed << setprecision(10);int T = 1;cin >> T;while (T--)_();return 0;
}void _()
{int n, m;cin >> n >> m;vector<string> s(n + 1);for (int i = 1; i <= n; i++)cin >> s[i], s[i] = ' ' + s[i];vector<vector<int>> f(n + 1, vector<int>(m + 1));bool fail = 0;for (int i = 1; i <= n; i++){int ans = 1;for (int j = 1; j <= m; j++)if (s[i][j] == 'U')f[i][j] = ans, ans = -ans, f[i + 1][j] = ans;}for (int j = 1; j <= m; j++){int ans = 1;for (int i = 1; i <= n; i++)if (s[i][j] == 'L')f[i][j] = ans, ans = -ans, f[i][j + 1] = ans;}for (int i = 1; i <= n; i++){int sum_row = 0;for (int j = 1; j <= m; j++)sum_row += f[i][j];if (sum_row)fail = 1;}for (int j = 1; j <= m; j++){int sum_col = 0;for (int i = 1; i <= n; i++)sum_col += f[i][j];if (sum_col)fail = 1;}if (fail){cout << -1 << '\n';return;}for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){if (f[i][j])cout << (f[i][j] == 1 ? 'W' : 'B');elsecout << '.';}cout << '\n';}
}
// void _()
// {
// int n, m;
// cin >> n >> m;
// vector<string> s(n + 1);
// for (int i = 1; i <= n; i++)
// cin >> s[i], s[i] = ' ' + s[i];
// vector<vector<int>> f(n + 1, vector<int>(m + 1));
// bool fail = 0;
// for (int i = 1; i <= n; i++)
// {
// int sum_row = 0;
// for (int j = 1; j <= m; j++)
// {
// if (s[i][j] - '.')
// f[i][j] = i + j & 1 ? 1 : -1;
// sum_row += f[i][j];
// }
// if (sum_row)
// fail = 1;
// }
// for (int j = 1; j <= m; j++)
// {
// int sum_col = 0;
// for (int i = 1; i <= n; i++)
// sum_col += f[i][j];
// if (sum_col)
// fail = 1;
// }
// if (fail)
// {
// cout << -1 << '\n';
// return;
// }
// for (int i = 1; i <= n; i++)
// {
// for (int j = 1; j <= m; j++)
// {
// if (f[i][j])
// cout << (f[i][j] == 1 ? 'W' : 'B');
// else
// cout << '.';
// }
// cout << '\n';
// }
// }
相关文章:
2025.2.14——1400
2025.2.14——1400 A 1400 B 1400 C 1400 D 1400 E 1400 F 1400 G 1400 H 1400 ------------------------------------------------ 思维排序/双指针/二分/队列匹配思维二分/位运算思维数学思维 A 一眼想到的是维护信息计数。维护两个信息同时用长的一半去找短的一半…...
DeepSeek教unity------MessagePack-04
Union 联合 MessagePack for C# 支持序列化接口类型和抽象类类型的对象。它的行为类似于 XmlInclude 或 ProtoInclude。在 MessagePack for C# 中,这些被称为Union。只有接口和抽象类可以被 Union 属性注解。需要唯一的联合键。 /******************************…...
Java异常体系深度解析:从Exception到Error
文章目录 前言一、Java异常体系概览ExceptionError 二、受检异常与非受检异常受检异常(Checked Exception)非受检异常(Unchecked Exception) 三、常见的Error类型四、异常处理机制try-catch-finally结构Throws关键字 五、自定义异…...
【linux】文件与目录命令 - ln
文章目录 1. 基本用法2. 常用参数3. 用法举例4. 注意事项 ln 命令用于在文件系统中创建硬链接或符号链接(软链接),是文件共享和路径引用的常用工具。 1. 基本用法 语法: ln [选项] 源文件 [目标文件/目标目录]功能: 创…...
Xilinx kintex-7系列 FPGA支持PCIe 3.0 吗?
Xilinx kintex-7系列资源如下图 Xilinx各系列的GT资源类型和性能 PCIe Gen1/2/3的传输速率对比 K7上面使用的高速收发器GTX最高速率为12.5GT/s, PCIe Gen2 每个通道的传输速率为 5 GT/s。 PCIe Gen3 每个通道的传输速率为 8 GT/s。 所以理论上硬件支持PCIe3.0&#…...
无人机遥感技术在农业中的具体应用:株数和株高、冠层覆盖度、作物倒伏检测、叶面积指数、病虫害监测、产量估算、空间数据综合制图
近年来,随着无人机技术的飞速发展,其在智慧农业领域的应用越来越广泛。无人机遥感作为一种高效的空间大数据获取手段,能够为农业生产提供多时相、多维度、大面积的农情信息,为实现精准农业和智慧农业提供了有力支持。今天…...
前端框架React知识回顾
首先,得确定用户的需求,可能是一个准备面试的前端开发者,想要系统复习React相关知识点。接下来要考虑React的核心概念,比如组件、生命周期、Hooks这些肯定是必须的。然后,面试中常问的问题,比如虚拟DOM、状…...
坑多多之ac8257 i2c1 rtc-pcf8563
pcf85163 ordering information Ordering information Package Description Version Marking code PCF85163T/1 SO8 ① SOT96-1 PF85163 PCF85163TS/1 TSSOP8 ② SOT505-1 85163 ①plastic small outline package; 8 leads;body width 3.9 mm ②plastic thin…...
webpack构建流程
文章目录 [TOC](文章目录) 运行流程初始化流程编译构建流程compile编译make 编译模块build module 完成模块编译 输出流程seal输出资源emit输出完成 小结 运行流程 是一个串行的过程,它的工作流程就是将各个插件串联起来 在运行过程中会广播事件,插件只…...
React - 组件之props属性
在 React 中,props(即属性)是组件之间传递数据的一种方式。它是 React 组件的基础,用于将数据从父组件传递到子组件。 一、类组件中 1. props 的作用 数据传递: props 允许父组件向子组件传递数据。子组件可以使用这些数据来渲…...
PMTUD By UDP
通过UDP探测MTU,并实现udp echo server // Description: UDP echo server. // g udp_echo_server.cc -o udp_echo_server #include <iostream> #include <cstring> #include <arpa/inet.h> #include <unistd.h>#define PORT …...
Hutool - BloomFilter:便捷的布隆过滤器实现
1. 布隆过滤器简介 布隆过滤器(Bloom Filter)是一种空间效率极高的概率型数据结构,用于判断一个元素是否存在于一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,但缺点是有一定的误判率,即判断元素存在…...
【学习资源】时间序列数据分析方法(1)
时间序列数据分析是一个有趣的话题,让我们多花一些时间来研究。此篇为第一篇文章。主要介绍特征提取方法、深度学习时序数据分析模型、参考资源。期望能帮助大家解决工业领域的相关问题。 1 特征提取方法:信号处理 (来源:INTELLIGENT FAULT DIAGNOSIS A…...
盛铂科技SWFA100捷变频频率综合器:高性能国产射频系统的关键选择
在现代射频系统中,频率综合器是实现精确频率控制和快速跳频的核心组件。盛铂科技推出的SWFA100捷变频频率综合器凭借其卓越的性能和小型化设计,成为高性能射频系统中的理想选择。 SWFA100捷变频频率综合器 高速跳频与宽频覆盖 SWFA100捷变频频率综合器能…...
释放你的元数据:使用 Elasticsearch 的自查询检索器
作者:来自 Elastic Josh Asres 了解如何使用 Elasticsearch 的 “self-quering” 检索器来通过结构化过滤器提高语义搜索的相关性。 在人工智能搜索的世界中,在海量的数据集中高效地找到正确的数据至关重要。传统的基于关键词的搜索在处理涉及自然语言的…...
【快速幂算法】快速幂算法讲解及C语言实现(递归实现和非递归实现,附代码)
快速幂算法 快速幂算法可用分治法实现 不难看出,对任意实数a和非负整数n,有: a n { 1 , n 0 , a ≠ 0 0 , a 0 ( a n 2 ) 2 , n > 0 , n 为偶数 ( a n 2 ) 2 ∗ a , n > 0 , n 为奇数 a^n \begin{cases} 1, & n 0, a\neq 0…...
3. 导入官方dashboard
官方dashboard:https://grafana.com/grafana/dashboards 1. 点击仪表板 - 新建 - 导入 注:有网络的情况想可以使用ID,无网络情况下使用仪表板josn文件 2. 在官方dashboard网页上选择符合你现在数据源的dashboard - 点击进入 3. 下拉网页选…...
怎么理解 Spring Boot 的约定优于配置 ?
在传统的 Spring 开发中,大家可能都有过这样的经历:项目还没开始写几行核心业务代码,就已经在各种配置文件中耗费了大量时间。比如,要配置数据库连接,不仅要在 XML 文件里编写冗长的数据源配置,还要处理事务…...
Dify 是什么?Dify是一个开源的LLM应用开发平台,支持快速搭建生成式AI应用,具有RAG管道、Agent功能、模型集成等特点
首先,Dify是一个开源的LLM应用开发平台,支持快速搭建生成式AI应用,具有RAG管道、Agent功能、模型集成等特点75。根据搜索结果,网页6详细对比了多个RAG和AI开发框架,包括MaxKB、FastGPT、RagFlow、Anything-LLM等。其中…...
数据预处理都做什么,用什么工具
数据预处理是数据分析、数据挖掘和机器学习中的关键步骤,其目的是将原始数据转换为适合后续分析或建模的格式。以下是关于数据预处理的主要内容及常用工具的详细介绍: 一、数据预处理的主要任务 数据预处理的主要任务包括以下几个方面: 数据…...
AI在创业金融中的三十年演进:从SVM到神经网络的融合应用
1. 项目概述:当AI遇见创业金融如果你在金融科技圈待过几年,或者自己创过业、融过资,你大概率会听过这样的故事:一个满怀激情的创始人,拿着一份精心打磨的商业计划书,见了十几个投资人,最后因为“…...
TPFanCtrl2:ThinkPad风扇控制的终极解决方案
TPFanCtrl2:ThinkPad风扇控制的终极解决方案 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否厌倦了ThinkPad风扇在安静办公时突然狂转?或…...
SkyfireAI获1100万美元融资,推动无人机自主协同作战
一家致力于改变高风险场景下无人机操作方式的初创公司刚刚完成了新一轮融资,瞄准的正是行业内最棘手的难题之一:如何在不增加飞手数量的前提下,实现无人机规模化运营。SkyfireAI是一家专注于AI驱动无人机自主技术的美国公司,近日完…...
3个核心优势:阴阳师自动化脚本的智能解决方案
3个核心优势:阴阳师自动化脚本的智能解决方案 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动化脚本(Onmyoji Auto Script)是一款专…...
CANN/catlass aclnn接口算子接入示例
basic_matmul_aclnn example 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass aclnn接口是CANN软件栈一直沿用的接口,msOpGen工具是CANN提供可…...
AI世界模型:持久性、代理性与涌现性的核心技术解析
1. 世界模型的概念与核心价值在人工智能和认知科学领域,世界模型(World Model)正成为理解智能体如何感知、推理和与环境互动的关键框架。简单来说,世界模型就是智能体(无论是人类还是AI系统)对所处环境的内…...
从RTL到可执行:手把手拆解基于FPGA的硬件仿真器前端三步骤(Analyze, Elaboration, Synthesis)
从RTL到可执行:手把手拆解基于FPGA的硬件仿真器前端三步骤(Analyze, Elaboration, Synthesis) 在ASIC和FPGA验证领域,硬件仿真(Emulation)已成为验证复杂芯片设计不可或缺的一环。与传统的软件仿真…...
从设备树到CAN总线:在RK3399开发板上用SPI驱动MCP2515的保姆级避坑指南
从设备树到CAN总线:在RK3399开发板上用SPI驱动MCP2515的保姆级避坑指南 RK3399作为一款性能强劲的六核处理器,在工业控制和嵌入式领域有着广泛的应用。而CAN总线作为一种高可靠性的现场总线协议,在汽车电子和工业自动化中扮演着重要角色。本文…...
CANN/catccos计算通信融合算子模板库
CATCCOS 【免费下载链接】catccos CATCCOS昇腾计算-通信融合算子模板库,是一个聚焦于提供高性能计算通信融合类算子基础模板的代码库。 项目地址: https://gitcode.com/cann/catccos 📌 简介 CATCCOS(CANN Templates for Compute-Communication …...
Tekla 图纸还在人工调?一个项目浪费几十小时,自动调图到底能省多少时间
正文在钢结构深化行业,很多人都以为建模最耗时间。但真正做过项目的人都知道,模型完成之后,真正拖慢交付周期的,往往是图纸后处理。一个典型流程:建模完成 → 自动生成图纸 → 图纸员人工调图 → 校审 → 修改 → 出图…...
