05 2022 档案
摘要:矩阵快速幂其实就是运算的时候将幂优化了,可以近似看为快速幂 #####快速幂 求$x^{n}$,当n为奇数时,n的二进制最后一位必定是1,可以将其与1来判断是否为奇数,与结果相乘 n为偶数时,\(x^{2}\) = x * x,然后与结果相乘,最后在除2即可,默认向下取整 #include <ios
阅读全文
摘要:一开始,我想的是按线段长度来排序,但是无法判断是否全覆盖1~m个区间 正确的作法应该先按开始端点升序,如果相等则末端点降序 #include <iostream> #include <algorithm> #include <vector> using namespace std; const in
阅读全文
摘要:这道题算是活动选择的plus版本,限定了有几个卡槽,一样是用贪心的思想做,但是存数得用一个可以自动排序的数据结构存储,而且还得必须找出当前活动能否排在已经排好的活动后,也就是 说寻找第一个大于将要插入活动的开始时间的活动。 用multiset multiset默认按升序排列,自带upper_boun
阅读全文
摘要:题目是让找一个长度不为一的环,用DFS即可。 #include <iostream> #include <cstring> using namespace std; char mp[510][510]; bool vis[210][210]; int n, m; int fx[] = {0, 0,
阅读全文
摘要:#include <iostream> #include <algorithm> #include <cstdio> #include <fstream> #include <cstdlib> using namespace std; #define N 1000 struct member_inf
阅读全文
摘要:这道题找最短路比不是很难, 难的是打印出最短路径所经过的节点,需要倒着进行一次bfs,这样才能根据保存在pre数组进行遍历,否则就会从终点到起点打印路径 #include <iostream> using namespace std; bool vis[1010][1010]; int mp[101
阅读全文
摘要:求最长路,可以用spfa做, 数组要开到1e6,否则会超时 #include <iostream> #include <queue> #include <cstring> using namespace std; const int N = 1e6 + 10; const int INF = 0x3
阅读全文
摘要:这道题的题意真是看不懂。 赛后看了翻译,这道题说的是如果第一个人的战斗力大于敌人的战斗力的话,直接宣布胜利,否则进行训练,如果队伍中有可以单挑敌人并将其打败的话,直接叫来帮手,打败敌人,否则遇见一个打不过敌人的队友就训练一天,如果和敌人都是平手,则直接胜利 #include <iostream> u
阅读全文
摘要:####Expired License ######Expired License 这道题交给队友敲得,但是调试了一下午关于浮点数的精度老是出问题,参考了大佬的代码,终于知道怎么回事了 #include <iostream> using namespace std; typedef long lon
阅读全文