第14届蓝桥杯C++B组省赛

2023-11-20

今年比去年难好多= =

Update 2023.4.10 反转了,炼金二分没写错,可以AC了

Update 2023.4.9 rnm退钱,把简单的都放后面是吧。在C语言网测了一下民间数据,地址在这里。果然,二分写错了0分qwq,更新一个正确做法。飞机场不知道为什么也T了(很对的时间复杂度啊)。最后再更新一下J题把,这个题就是一个最简单的树上差分题。

A. 日期统计

直接8个for,然后剪枝一下(只取2023)开头的,跑起来还是很快的,自己电脑100ms,机房1s左右
我算的答案是235,不一定对qwq

#include <bits/stdc++.h>
using namespace std;
map<string, int> f;
int m[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int res;
void check(string s) {
	if(f.count(s)) return;
	int mon = (s[0] - '0') * 10 + s[1] - '0';
	int day = (s[2] - '0') * 10 + s[3] - '0';

	if(mon < 1 || mon > 12) return ;
	if (day < 1 || day > m[mon] ) return ;
	f[s] = 1;
	res ++;
}
int main() {

	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int a[101];

	for (int i = 1; i <= 100; i ++) {
		cin >> a[i];
	}

	for (int y1 = 1; y1 <= 100; y1 ++) {
		for (int y2 = y1 + 1; y2 <= 100; y2 ++) {
			for (int y3 = y2 + 1; y3 <= 100; y3 ++) {
				for (int y4 = y3 + 1; y4 <= 100; y4 ++) {
					string year = "";
					year += char(a[y1] + '0');
					year += char(a[y2] + '0');
					year += char(a[y3] + '0');
					year += char(a[y4] + '0');
					if(year != "2023") {
						continue;
					}
					for (int m1 = y4 + 1; m1 <= 100; m1 ++) {
						for (int m2 = m1 + 1; m2 <= 100; m2 ++) {
							for (int d1 = m2 + 1; d1 <= 100; d1 ++) {
								for (int d2 = d1 + 1; d2 <= 100; d2 ++) {
									string s = "";
									s += char(a[m1] + '0');
									s += char(a[m2] + '0');
									s += char(a[d1] + '0');
									s += char(a[d2] + '0');
									check(s);
								}
							}
						}
					}
				}
			}
		}
	}

	cout << res << "\n";

	// 235

	return 0;

}

B. 01 串的熵

枚举一下1的个数,然后算一下,c++自带log函数的 我算的结果是11027421,不知道对不对qwq

#include <bits/stdc++.h>
using namespace std;

int main() {

	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	double ans = 11625907.5798;

	int n = 23333333, t = -1;

	for (int i = 1; i <= n; i ++) {
		double x1 = 1.0 * i / n;
		double x2 = 1.0 * (n - i) / n;
		double res = -1.0 * i * x1 * log2(x1) - 1.0 * (n - i) * x2 * log2(x2);
		if(fabs(res - ans) < 1e-4) {
			t = min(i, n - i);
			break;
		}
	}
	// 11027421
	cout << t << "\n";

}

C. 冶炼金属

瞎几把二分,过样例就没管了。二分没错!
下面是看群友写的,可以过C语言网民间数据

#include <bits/stdc++.h>
using namespace std;

int main() {

	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n;
	cin >> n;

	int a = 0, b = 1e9;


	for (int i = 0; i < n; i ++) {
		int x, y;
		cin >> x >> y;
		b = min(b, x / y);
		a = max(a, x / (y + 1) + 1);
	}
	cout << a << " " << b << "\n";
	return 0;

}

二分这样写:

#include <bits/stdc++.h>
using namespace std;


int main() {

	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n;
	cin >> n;
	vector<int> a(n), b(n);

	for (int i = 0; i < n; i ++) {
		cin >> a[i] >> b[i];
	}

	int l = 1, r = 1e9;
	while (l < r) {
		int mid = (l + r) >> 1;
		int t = 0;
		for (int i = 0; i < n; i ++) {
			if(a[i] / mid > b[i]) t --;
			else if(a[i] / mid < b[i]) t ++;
		}
		if(t >= 0) r = mid;
		else l = mid + 1;
	}
	cout << l << " ";
	l = 1, r = 1e9;
	while (l < r) {
		int mid = (l + r + 1) >> 1;
		int t = 0;
		for (int i = 0; i < n; i ++) {
			if(a[i] / mid > b[i]) t --;
			else if(a[i] / mid < b[i]) t ++;
		}
		if(t <= 0) l = mid;
		else r = mid - 1;
	}
	cout << l << "\n";

	return 0;

}

D. 飞机降落

看到数据量就只有10,直接就是全排列去判断合不合法了。C语言网TLE了呜呜呜

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct P{
	int t, d, l;
};
void solve() {
	int n;
	cin >> n;
	vector<P> a(n);
	for (int i = 0; i < n; i ++) {
		cin >> a[i].t >> a[i].d >> a[i].l;
	}
	vector<int> p(n);
	iota(p.begin(), p.end(), 0);
	bool ok = false;
	do {
		bool ft = true;
		int s = a[p[0]].t + a[p[0]].l;
		for (int i = 1; i < n; i ++) {
			auto [t, d, l] = a[p[i]];
			if(t + d < s) ft = false;
			else {
				s += l;
			}
		}
		if(ft) ok = true;
	} while (next_permutation(p.begin(), p.end()));
	if(ok) {
		cout << "YES\n";
	} else {
		cout << "NO\n";
	}
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int t;
	cin >> t;
	while (t --) {
		solve();
	}
	return 0;
}

E. 接龙数列

L I S LIS LIS类似的DP吧, 可以做到 O ( n ) O(n) O(n)的,但是脑抽了想了个 O ( n 2 ) O(n^2) O(n2)又瞎几把优化了一下,样例过了
f [ i ] [ j ] f[i][j] f[i][j]表示选 a i a_i ai以数字 j j j结尾的最长接龙数列,然后答案就是 n n n减去最长的.
f [ i ] [ j ] = max ⁡ j ≤ i f [ j ] [ k ] f[i][j] = \max_{j \le i} f[j][k] f[i][j]=maxjif[j][k].然后我这里用树状数组优化成了 l o g n logn logn,应该能过.

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
struct BIT {
	int c[N];
	int lowbit(int x) {return x & -x;}
	void add(int x, int v) {
		while (x < N) {
			c[x] = max(c[x], v);
			x += lowbit(x);
		}
	}
	int sum(int x) {
		int res = 0;
		while (x) {
			res = max(res, c[x]);
			x -= lowbit(x);
		}
		return res;
	}
};
BIT bit[10];
int f[N][10];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n;
	cin >> n;
	for (int i = 1; i <= n; i ++) {
		string s;
		cin >> s;
		int a = s[0] - '0', b = s.back() - '0';
		f[i][b] = 1;
		f[i][b] = max(f[i][b], bit[a].sum(i - 1) + 1);
		bit[b].add(i, f[i][b]);
	}
	int res = 0;
	for (int i = 1; i <= n; i ++)
		for (int j = 0; j < 10; j ++) {
			res = max(res, f[i][j]);
		}
	cout << n - res << "\n";
	return 0;
}

F. 岛屿个数

不会 看了几分钟没思路就看后面去了.
看了一些群佬的思路:大致是,从海开始dfs,遇到了岛就去dfs岛然后标记,这么想确实很对,代码还没写

G. 子串简写

我宣布这是最简单的, 比赛前一天晚上的牛客小白月赛D和这个极其类似
如果一个位置是c2,那么看前面有多少c1就可以了.注意要判断一下距离,用前缀和搞一下就行

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e5 + 10;
int f[N];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int k;
	cin >> k;
	string s;
	char c1, c2;
	cin >> s >> c1 >> c2;
	int n = s.size();
	for (int i = 0; i < n; i ++) {
		f[i + 1] = f[i] + (s[i] == c1);
	}
	ll res = 0;
	for (int i = k - 1; i < n; i ++) {
		int l = i - k + 1;
		if(s[i] == c2) {
			res += f[l + 1];
		}
	}
	cout << res << "\n";
	return 0;
}

H. 整数删除

不会, 据说是set+优先队列乱搞)

I. 景区导游

对于树上两个点 ( u , v ) (u,v) (u,v)之间的最距离就是 d i s t [ u ] + d i s t [ v ] − 2 ∗ d i s t [ l c a ( u , v ) ] dist[u] + dist[v] - 2 * dist[lca(u,v)] dist[u]+dist[v]2dist[lca(u,v)], d i s t [ u ] dist[u] dist[u]是根节点到 u u u的距离.
然后就好做了

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n, k;
	cin >> n >> k;
	vector<vector<pair<int,int>>> adj(n + 1);
	for (int i = 0; i < n - 1; i ++) {
		int u, v, w;
		cin >> u >> v >> w;
		adj[u].emplace_back(v, w);
		adj[v].emplace_back(u, w);
	}
	vector<int> t(k);
	for (int i = 0; i < k; i ++) {
		cin >> t[i];
	}
	vector f(n + 1, vector<int>(22));
	vector<ll> dist(n + 1), dep(n + 1);
	function<void(int, int)> dfs = [&](int u, int p) {
		f[u][0] = p;
		dep[u] = dep[p] + 1;
		for (int i = 1; i <= 20; i ++) {
			f[u][i] = f[f[u][i - 1]][i - 1];
		}
		for (auto &[v, w] : adj[u]) {
			if(v == p) continue;
			dist[v] = dist[u] + w;
			dfs(v, u);
		}
	};
	function<int(int,int)> lca = [&](int x, int y) -> int{
		if(dep[x] < dep[y]) swap(x, y);
		for (int i = 20; i >= 0; i --) {
			if (dep[f[x][i]] >= dep[y]) {
				x = f[x][i];
			}
		}
		if(x == y) return x;
		for (int i = 20; i >= 0; i --) {
			if(f[x][i] != f[y][i]) {
				x = f[x][i];
				y = f[y][i];
			}
		}
		return f[x][0];
	};
	dfs(1, 0);
	auto go = [&](int u, int v) -> ll {
		return dist[u] + dist[v] - 2 * dist[lca(u, v)];
	};
	ll alls = 0;
	for (int i = 0; i + 1 < k; i ++) {
		alls += go(t[i], t[i + 1]);
	}
	for (int i = 0; i < k;i ++) {
		if(i == 0) {
			cout << alls - go(t[0], t[1]) << " ";
		} else if(i ==  k - 1) {
			cout << alls - go(t[k - 2], t[k - 1]) << "\n";
		} else {
			cout << alls - go(t[i - 1], t[i]) - go(t[i], t[i + 1]) + go(t[i - 1], t[i + 1]) << " ";
		}
	}
	return 0;
}

J. 砍树

这个题其实很简单。它的题意是,给出一棵树,然后 m m m对点,让你切断一条边,使得这 m m m对点都不连通。
对于一颗树上的两个点 u , v u, v u,v,他是一定联通的,并且它的路径是 u − > l c a ( u , v ) − > v u -> lca(u,v) -> v u>lca(u,v)>v, 那么我们就可以利用差分的思想,让这 m m m对点的路径都加上 1 1 1,然后去看哪个边被加了 m m m次,那么把这个点切断那就可以满足题意了。具体可以看代码

另外,这个题又是一个lca,难不成今年蓝桥杯要成lca杯了吗

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n, m;
	cin >> n >> m;
	vector<vector<pair<int,int>>> adj(n + 1);
	for (int i = 0; i < n - 1; i ++) {
		int u, v;
		cin >> u >> v;
		adj[u].emplace_back(v, i + 1);
		adj[v].emplace_back(u, i + 1);
	}
	vector<vector<int>> f(n + 1, vector<int>(21));
	vector<int> d(n + 1), dep(n + 1);
	function<void(int,int)> dfs1 = [&](int u, int p) {
		dep[u] = dep[p] + 1;
		f[u][0] = p;
		for (int i = 1; i <= 20; i ++) {
			f[u][i] = f[f[u][i - 1]][i - 1];
		}
		for (auto &[v, id] : adj[u]) {
			if(v == p) continue;
			dfs1(v, u);
		}
	};
	auto lca = [&](int u, int v) -> int {
		if(dep[u] < dep[v]) swap(u, v);
		for (int i = 20; i >= 0; i --) {
			if(dep[f[u][i]] >= dep[v]) {
				u = f[u][i];
			}
		}
		if(u == v) return u;
		for (int i = 20; i >= 0; i --) {
			if(f[u][i] != f[v][i]) {
				u = f[u][i];
				v = f[v][i];
			}
		}
		return f[u][0];
	};
	int ans = -1;
	function<int(int,int)> dfs = [&](int u, int p) -> int {
		int res = d[u];
		for (auto &[v, id] : adj[u]) {
			if(v == p) continue;
			int s = dfs(v, u);
			if(s == m) {
				ans = max(ans, id);
			}
			res += s;
		}
		return res;
	};
	dfs1(1, 0);
	for (int i = 0; i < m; i ++) {
		int u, v;
		cin >> u >> v;
		d[u] ++;
		d[v] ++;
		d[lca(u, v)] -= 2; 
	}
	dfs(1, 0);
	cout << ans << "\n";
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第14届蓝桥杯C++B组省赛 的相关文章

  • 为什么通过派生类对基类的引用与 :: - 运算符不明确?

    所以我想知道为什么以下钻石问题的代码片段无法编译 我知道这个问题通常是通过虚拟继承来解决的 我不是故意使用它的 该代码只是为了展示我的问题 即为什么编译器称此不明确 因此 我在 struct Base 中声明了两个成员变量 因为这两个子类
  • 金特 + XNA (C#)

    是否可以使用jint http jint codeplex com操作使用 XNA C 创建的 3D 环境 并向该环境添加功能 再次使用 jint 作为 Jint 的贡献者 我会推荐你Jint http jint codeplex com
  • 我应该把 try/catch 和“using”语句放在哪里? [复制]

    这个问题在这里已经有答案了 可能的重复 try catch using 正确的语法 https stackoverflow com questions 4590490 try catch using right syntax 我想try c
  • 在 C# 中使用“using”关键字避免多次处置的最佳实践

    当变量是 IDisposable 时 我们有using关键字来管理处置 但是如果我们在方法中返回值怎么办 using twice StringContent stringToStringContent string str using St
  • 无法将 std::min 传递给函数,std::min 的副本有效

    Passing std min函数无法编译 我复制了 libcpp 声明std min进入我的源文件并且它可以工作 std 版本有什么问题 clang 和 gcc 也会发生同样的情况 在 Godbolt 上测试 https godbolt
  • 我如何知道 C 程序的可执行文件是在前台还是后台运行?

    在我的 C 程序中 我想知道我的可执行文件是否像这样在前台运行 a out 或者像这样 a out 如果你是前台工作 getpgrp tcgetpgrp STDOUT FILENO or STDIN FILENO or STDERR FIL
  • 锁定 ASP.NET 应用程序变量

    我在 ASP NET 应用程序中使用第三方 Web 服务 对第 3 方 Web 服务的调用必须同步 但 ASP NET 显然是多线程的 并且可能会发出多个页面请求 从而导致对第 3 方 Web 服务的同时调用 对 Web 服务的调用封装在自
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • XPATH 查询、HtmlAgilityPack 和提取文本

    我一直在尝试从名为 tim new 的类中提取链接 我也得到了解决方案 给出了解决方案 片段和必要的信息here https stackoverflow com questions 2982862 extracting a table ro
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • C 中“complex”的默认类型

    根据我读过的文档 C99 和更高版本的支持float complex double complex and long double complex作为复杂类型 但是 此代码在使用时编译时不会发出警告gcc Wall Wextra inclu
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • 为什么不能调用带有 auto& 参数的 const mutable lambda?

    include
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • “必须声明标量变量”错误[重复]

    这个问题在这里已经有答案了 必须声明标量变量 Id SqlConnection con new SqlConnection connectionstring con Open SqlCommand cmd new SqlCommand cm
  • 这种尺寸对齐是如何工作的

    对于所提供的评论 我无法理解以下代码 这段代码的作用是什么 以及等效的代码是什么8 aligned segment size must be 4 aligned attr gt options ssize 3 Here ssize is o

随机推荐

  • vue中用高德地图根据经纬度在地图上显示一个定位点

    在 Vue 中使用高德地图显示定位点 你需要做以下几件事 在项目中安装高德地图的 npm 包 npminstall save amap js api 在 main js 中引入高德地图的库并初始化 import AMapfrom amap
  • JSP——JavaBean的使用实例(求圆的面积)

    JSP页面通过表单输入圆半径并提交给该页面 表单提交后 JSP页面将计算圆面积和周长的任务交给一个JavaBean去完成 1 建立如下目录结构文件 2 Circle java 文件 package sun hebtu 求圆面积的Circle
  • JSP+ssm计算机毕业设计米哈游原神角色伤害计算系统xbn3e【源码、数据库、LW、部署】

    项目运行 项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEcl
  • ROS2报错 AttributeError: type object ‘type‘ has no attribute ‘_TYPE_SUPPORT‘

    问题描述 今天在用python写ROS2编写发布者和订阅者 然后需要用到自己的写的接口 在写完之后 使用colcon build并没有报错 并且可以使用ros2 interface show my interface指令查看到自己定义的接口
  • 用 IDEA+EmmyLua 来写神途脚本

    1 安装IntelliJ IDEA 下载地址 Download IntelliJ IDEA The Capable Ergonomic Java IDE by JetBrains 推荐安装 2022 1 4 版本 可使用社区版 2 安装 l
  • QT二维码生成和解析&Demo

    目录 一 前言 二 相关知识 三 效果展示 四 主要源码简析 五 源码Demo 一 前言 本文主要介绍二维码生成和解析的相关知识和例程 二 相关知识 二维码生成 主要用到的是开源的二维码QR码编码库qrencode 需要使用到的库文件为下面
  • 七段码(建图+搜索+并查集)

    思路 step1 邻接表建图 相邻为1 不相邻为0 题目就等价为在图中求连通子图的个数 step2 深度搜索每条边 并存储下来 step3 对选择的边用并查集保存下来 然后看father i i的个数 等于1 表示连通 否则表示不连通 易错
  • 【SpringCloud】整合Consul+OpenFeign实现微服务+负载均衡(下)

    一 代码 由于篇幅有限 代码见上一篇文章 https blog csdn net forest long article details 129287941 分别启动Consul Service provider Service consu
  • QString::arg() 函数

    例 setWindowTitle tr 1 2 arg shownName arg tr Spreadsheet QString arg 函数用第一个arg 调用会替换 1 第2个arg 调用会替换 2 上面的例子其实可以写作 setWin
  • H5.小程序都适用的瀑布流做法

    1 HTML代码 div style display flex padding top 0 2rem div class card main left div div
  • 常用设计模式及例子(五)

    13 策略模式 strategy 策略模式定义了一系列算法 并将每个算法封装起来 使他们可以相互替换 且算法的变化不会影响到使用算法的客户 需要设计一个接口 为一系列实现类提供统一的方法 多个实现类实现该接口 设计一个抽象类 可有可无 属于
  • java实现音频文件的播放

    实现思路 1 首先获取音频文件的地址 然后通过IO流读取音频文件 加缓冲区 实现Player类的对象 2 Player类主要用于播放器的初始化 以及通过它来实现一些音视频文件的播放 这个类需要手动去网上下载 然后添加路径到我们Eclipse
  • 关于.net连接字符串

    今天在看David Sceppa的 ADO NET 技术内幕 里面对 net连接字符串的描述很简单 让人一看就懂 一看能理解 连接字符串是什么 连接字符串是由一系列用分号隔开的 name value 组合 strConn Setting1
  • centos 通过yum安装nginx

    通过yum安装nginx 菜鸟一枚 不知道为什么nginx这个东西不在初始话的yum镜像里面 也不想通过编译方式安装nginx 看着闹心 那么怎么通过yum方式安装nginx呢 添加nginx包镜像地址 rpm ivh http nginx
  • python---函数名的使用

    函数名的多种用法 函数名当作变量名赋值 函数名当作函数的实参 函数名当作函数的返回值 函数名当作容器类型的元素 函数名当作变量名赋值 def index print from function index print index res i
  • android调用系统指纹设置页面录入指纹

    在做指纹登录时 有时候会遇到设备并未录入指纹 需要提示用户去开启 如果需要自动跳转到系统的指纹设置页面 录入指纹 那就需要调用系统组件 由于google加入指纹支持是在6 0 而国内很多厂商很早便加入了指纹支持 所以在这方面碎片化很严重 需
  • 火影手游为什么服务器维护,火影忍者手游安装失败解决方法 游戏闪退进不去怎么办...

    本文4399阿尔法将告诉大家火影忍者手游安装失败的原因以及解决方法 还会告诉大家游戏闪退进不去怎么办等等 下面就跟着小编一起来看看吧 gt gt gt gt gt 更多游戏攻略 进入4399火影忍者手游专区 lt lt lt lt lt 问
  • 65nm芯片流片费用_每年流片超40款客户芯片,国内第一的IP供应商芯原科创板上市获受理...

    文 Lee 图源 网络 集微网消息 9月20日 上交所受理了芯原微电子 上海 股份有限公司 以下简称 芯原 科创板上市申请 芯原选择的上市标准为 科创板上市规则 2 1 2中的第 四 项 预计市值不低于人民币30亿元 且最近一年营业收入不低
  • vscode配置clangd和clang-format

    vscode安装和配置 如何安装和配置vscode以搭建c 开发环境 可以查看我的另一篇博客 Windows上最轻量的vscode C 开发环境搭建 在这篇博客中 详细介绍了如何安装vscode以及应该安装哪些插件 这里不再赘述 vscod
  • 第14届蓝桥杯C++B组省赛

    文章目录 A 日期统计 B 01 串的熵 C 冶炼金属 D 飞机降落 E 接龙数列 F 岛屿个数 G 子串简写 H 整数删除 I 景区导游 J 砍树 今年比去年难好多 Update 2023 4 10 反转了 炼金二分没写错 可以AC了 U