CF1039 Div2
A. Recycling Center 思路 将所有袋子按重量升序排序。 第 i 小的袋子在被销毁前会被乘 $2^{i-1}$。其判定是否大于 c 只取决于原始重量是否大于 $\frac{c}{2^{i-1}}$。 从最轻到最重遍历,若当前袋子经过倍增仍大于 c,则答案 +1。 ac code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 LL n, c; void solve() { cin >> n >> c; vector<LL> a(n); for(auto& x : a) cin >> x; vector<int> d; for(auto x : a){ if(x > c){ d.push_back(-1); continue; } LL k = 0; while((x << 1) <= c) x <<= 1, ++ k; d.push_back(k); } sort(d.begin(), d.end()); int t = 0, ans = 0; for(int v : d){ if(v >= t) ++ t; else ++ ans; } cout << ans << '\n'; } B. Deque Process 思路 贪心 + 小范围前瞻 ...
AT416 Abc
A - Vacation Validation ac code 1 2 3 4 5 6 7 8 9 10 11 12 13 int n, l ,r; string s; void solve() { cin >> n >> l >> r >> s; s = ' ' + s; for(int i = l; i <= r; i ++) if(s[i] != 'o'){ cout << "No"; return ; } cout << "Yes"; } B - 1D Akari ac code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 string s; void solve() { cin >> s; string r = s; for(int i = 0; i < s.size(); i ++){ if(s[i] == '#') r[i] = '#'; else{ if(i == 0 || s[i - 1] == '#') r[i] = 'o'; else r[i] = '.'; } } cout << r << '\n'; } C - Concat (X-th) 暴力即可 ...
CFEDU181 Div2
A. Difficult Contest 思路 从大到小排序即可 ac code 1 2 3 4 5 6 7 string s; void solve() { cin >> s; sort(s.begin(), s.end(), greater<char>()); cout << s << '\n'; } B. Left and Down 思路 目标是到达 $(0, 0)$,每次操作最多可以减少 $k$ 单位的横纵坐标。 操作的代价由使用过的不同 $(dx, dy)$ 决定。 为使 $(a, b)$ 同时减到 0,最多可能用到的不同方向数量是: $$ d = \max\left(\left\lceil \frac{a}{k} \right\rceil, \left\lceil \frac{b}{k} \right\rceil\right) $$ ...
C/C++项目合集
这篇文章将主要收录做过的c/cpp项目,项目源码存放于GitHub 高性能 C++ Web 服务器项目 2025.4 ~ 2025.5 https://github.com/F0rsyth1a/TinyWebServer 基于 C++11 的 Linux 多线程高并发 Web 轻量级服务器,具备完整的 HTTP 请求解析、连接管理、事件驱动机制、数据库操作与日志功能,适用于高性能、低延迟网络服务场景。 ...
CF1037 Div3
D. This Is the Last Time 题目重述 初始有 $k$ 枚硬币,最多可访问 $n$ 个赌场。 第 $i$ 家赌场给出区间 $[l_i,r_i]$ 与最终硬币数 $real_i$。 仅当当前硬币数 $x$ 满足 $l_i\le x\le r_i$ 才能进入,并立刻令 $x\gets real_i$。 每家赌场最多进入一次,顺序自选,求可获得的最大硬币数。 ...
2024哈尔滨理工大学计算机科学与技术学院程序设计竞赛题解
A. 罚时 签到 略 B. 数学题 思维,签到 输出n个9即可 ac code 1 2 3 4 5 6 7 #include<iostream> int main() { int n; std::cin >> n; for(int i = 1; i <= n; i ++) std::cout << 9; return 0; } C. 干杯! 字符串,签到 ac code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include<iostream> #include<cstdlib> #include<cstring> #include<set> using namespace std; string s; void solve() { getline(cin, s); set<char> st; for(auto ch : s) if(isalpha(ch)) st.insert(ch); cout << st.size(); } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int Case = 1; //cin >> Case; while(Case --) solve(); return 0; } D. 向左看 单调栈 ...
20240720单片机main函数暂存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include "stm32f10x.h" // Device header #include "OLED.h" #include "LEDonStm32.h" #include "SG90control.h" #include "Delay.h" int main(void) //本程序为点灯小程序且不需要库函数支持。在其他程序运行前可以 借用本程序来 测试单片机链接情况 { LEDonStm32_Init(); OLED_Init(); LEDonStm32_on(); Pwm_Init(); SG90_SetAngle1(0); Delay_ms(200); SG90_SetAngle2(120); Delay_ms(200); SG90_SetAngle3(120); Delay_ms(200); SG90_SetAngle4(120); Delay_ms(200); OLED_ShowString(1, 3, "HelloWorld!"); while(1) { } }
单片机深入学习2024.7.20
接下来会长时间更新与单片机控制相关的代码 元件使用方案 首先是目前所学到的知识的整理 : 1.引脚查询 读表 不做更多的赘述 未来会使用STMCUBE 简化读表和对引脚调度的方案 2.引脚定义 也不做更多的赘述 3.引脚使能方案 ...
4.8第十三届蓝桥杯EDA省赛模拟4设计题复盘
本次设计结构基本完整,没有过多问题出现。希望从第六次设计题开始,额外花时间对丝印内容加以调整。 一、封装设计题 无 二、原理图设计题 1、电源电路连接: 标准答案中将两侧vout分别滤波/不滤波后并入网络,认为有误。按照老师的连接方式可以将两侧v out先相连再统一滤波引出。 ...
4.9第十三届蓝桥杯EDA省赛模拟5设计题复盘
一、元件、封装绘制题: 无 二、原理图绘制题: 有所失误,题目中给出实例为电平转3v3但要求绘制的部分恰好相反。对审题应当进一步加强,切勿想当然行事。 三、pcb绘制题 1、需要作为提前说明的内容:元器件之间可以稍许多加距离,使得不同元器件之间差不多可以放下丝印的距离。 2、布线基本无误,不做过多说明。 3、对于布局可以适当多花时间,更多思考一下模块之间的布线排列问题。 ...