CSP(第33次CCF计算机软件能力认证) 正式认证(100 + 100 + 0 + 0 + 0) 模拟认证(100 + 100 + 70 + 100 + 30) 仓库地址(欢迎watch~)github.com/van-Bo/CSP-problem-solutions Q1 词频统计 算法思路 unordered_set无序容器的使用,insert()插入,size()返回元素个数 #include <iostream> #include <...
TUOJsim.csp.thusaac.com/contest/33/home A题:词频统计 采用一种巧妙的记法,使用map来通过单词int映射到对应文章set,这样就能找出这个单词在哪些文章中出现过了。 #include<bits/stdc++.h> using namespace std; map<int,set<int>> mymap; int main() { ios::sync_with_stdio(false); cin.tie(null...
特性E则只有文件访问操作,这可以通过一次dfs遍历来解决。 最后,对于正解部分: 对于op1,我们沿用特性D中的做法即可。 对于op2,结合特性A和C的特点,我们需要统计从1到fa[x]这条树链上进行了多少次合并,这可以通过树链剖分来求解。
第33次CSP认证500分题解 近年来最简单的一次CSPCSP认证,33个小时现场满分直接拿下。 1、 没啥好说的,直接开桶拿下。 #include<bits/stdc++.h>usingnamespacestd;#defineN 1000010template<classT>inlineTread(T& a){ T x =0, s =1;charc =getchar();while(!isdigit(c)){if(c =='-') s =-1...
看到物品种类-总价格的题目,首先想到背包问题;然而该题中价格与容量是同一变量(预算作为约束条件),而且要求尽可能等于m的总价格而不是尽可能多。 根本的思路是不变的,通过对每个物品的选与不选的判断使得时间复杂度为O(n),只需要改变策略:dp[i][j]的 i 仍然表示考虑前 i 个物品,j 仍然表示当前的容量上限为...
水滴破裂最多会发生n次 均摊到每次操作上可以认为每次操作破裂一个水滴 那么本题实际上就是维护一个双向链表,同时用一个map来定位链表节点 思路就是这样 改用iterator on map或者set上二分来实现都是可以的 注意一下边界处理 #include<bits/stdc++.h> #define debug(a) cout<<"==="<<a<<"==="<<endl;...