摘要:
题目传送门 这道题是一个二分图匹配问题。如果第$i$件装备的属性值为$j$,将装备$i$连边到属性值$j$(注意装备结点$≠$属性值结点)。 然后从$1$到$10000$跑二分图匹配,判断该点是否能被匹配。直到不能匹配为止。 阅读全文
摘要:
1 #include 2 3 using namespace std; 4 5 #define re register 6 #define rep(i, a, b) for (re int i = a; i = b; --i) 8 #define maxx(a, b) a = max(a, b); 9 #define minn(a, b) a = min(a, b); 10... 阅读全文
摘要:
题目传送门 这道题事实上解并不多,所以我们倒过来从$7$开始搜索。主过程中为广搜,而函数深搜进行拓展。其实是对于前导$0$删去的情况也要考虑,否则只有$20pts$。 最后别忘了判断$7$在不在$[A,B]$。 这道题如果要打表也可以,就是表会很大。 阅读全文
摘要:
题目传送门 这道题是一道$DP$题,思维难度比较大。 题意:先定义波形数组:满足当$i$全为奇数或偶数时,$a[i]>a[i-1]$且$a[i]>a[i+1]$。 求$n$的全排列中有多少个符合波形数组。 想法是:如果第$i$个数是山峰,下一个肯定是山谷,也就是说要从剩下的且比第$i$个数小的数中挑 阅读全文
摘要:
题目传送门 这道题的思想是$DP$。 首先通过简单推理发现:$(a|b)-(a\&b)=a\hat{} b$。[$(a\ and\ b) - (a\ or\ b) = a\ xor\ b$] 发现对于第$i$个同学的饭菜的选择受到2方面影响: 是否在前面的某个没有选择的同学$>B_i$的位置; 上一 阅读全文