getline和stringstream

#include <bits/stdc++.h>using namespace std;void solve(){string s;getline(cin, s);stringstream ss(s);string ns;while(ss >> ns) cout <&l
刷题 2024年03月09日 235次浏览

启发式合并与树链剖分

启发式合并[HNOI2009] 梦幻布丁 - 洛谷#include <bits/stdc++.h>using namespace std;const int N = 1e6 + 10;int now[N], a[N];vector<int> g[N];int n, m, an
算法 刷题 2023年11月07日 160次浏览

MINIEYE杯第十六届华中科技大学程序设计邀请赛补题

MINIEYE杯第十六届华中科技大学程序设计邀请赛——F题=====>《K-th Power》容斥原理:求1~n中可被质数2, 3, 5整除的数的个数。根据容斥原理特点,一般有三种做法:数据量较小时,可用状压方式枚举dfs搜索莫比乌斯函数AC代码:一:dfs方式#include <bit
算法 刷题 2023年11月06日 372次浏览

LRU&LFU实现方式C++

参考文章1、LRUhttps://leetcode.cn/problems/lru-cache/typedef pair<int, int> PII;class LRUCache {public: int cap, cnt; //pair<第几个插入的,val>
算法 刷题 2023年09月25日 147次浏览

二维偏序问题

知识讲解  二维偏序模板题。把 (a[i], b[i]) 看成二维平面上的一个红点,(q[i][0], q[i][1]) 看成二维平面上的一个蓝点。我们要对每个蓝点求出它的右上方横纵坐标之和最大的红点。  我们将所有点先按横坐标从大到小排序,然后依此枚举每个点。这样遇到一个蓝点 (x, y),我们只
算法 刷题 2023年06月11日 182次浏览

进制转换

10进制转为b进制用秦九韶算法可以快速求解:此处 nnn 为 101010 进制n=ak−1∗bk−1+ak−2∗bk−2+ak−3∗bk−3+...+a1∗b1+a0∗b0n = a_{k - 1} * b^{k-1} + a_{k - 2} * b^{k - 2} + a_{k-3} * b^
算法 刷题 2023年04月07日 233次浏览

最短路之分层图

  分层图最短路是指在可以进行分层图的图上解决最短路问题。分层图:可以理解为有多个平行的图。  一般模型是:在一个正常的图上可以进行 k 次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。一般将决策前的状态和决策后的状态之间连接一条权值为决策代价的边,表示付出该代价后就可以转换状态了。见
算法 刷题 2023年04月05日 228次浏览

和式变换技术

放一下引用的大佬博客地址 https://www.eriktse.com/algorithm/1101.html#toc-12
算法 刷题 2023年04月03日 225次浏览

数论分块

数论分块可以在 O(n)O(\sqrt{n})O(n​) 的时间复杂度内计算以下式子:∑1nf(⌊ni⌋){\large \sum_{1}^{n}f(\left \lfloor \frac{n}{i} \right \rfloor)}∑1n​f(⌊in​⌋)
算法 刷题 2023年04月02日 215次浏览

树上分组背包问题

  第一次碰到这种问题,记录一下,后续会慢慢补充题目链接 《P1273 有线电视网》AC代码:#include <bits/stdc++.h>using namespace std;const int N = 3010;int h[N], e[N], w[N], ne[N], idx;i
算法 刷题 2023年03月28日 173次浏览