/images/avatar.webp

LIS

Dilworth定理:最少链划分= 最长反链长度

n个导弹高度中最少能有多少个不上升子序列,而不上升子序列的反链是上升子序列,根据定理,所以最少多少套系统= 最长导弹高度上升序列长度。

P1892 [BOI2003]团伙

在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1、我朋友的朋友是我的朋友; 2、我敌人的敌人是我的朋友;   所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?


有一种操作叫反集

如果a和b是敌人,合并n+b和a,n+a和b

如果c和a是敌人,合并n+c和a,n+a和c

那么b和c就并在一起了

LCString

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<iostream>#include<string>#include<algorithm>using namespace std; string a, b; int dp[1001][1001], ans; int main() { cin >> a >> b; int lena = a.length(), lenb = b.length(); for(int i = 0;i < lena;i++) { for(int j = 0;j < lenb;j++) { if(a[i] ==

LCS

Longest Common Subsequence dp[x][y]表示s[1~x]和t[1~y]的最长公共子序列长度。答案为dp[S.len][T.len] 分三种情况 s不在公共子序列中

暑假集训总结

关键词:看脸得分,死磕,代码能力 看脸得分: 打对了正解却因和假暴力对拍丢了100分,循环少写了等号少了一堆分等等各种nt错误层出不穷。这些错误

机房草事

1 2 3 4 *我前几天往空咖啡瓶里放了个果蝇和一块香蕉* 我:我把这果蝇塞你这(烂)橘子里怎么样? pyt: 好,然后待会给太虚吃了。 (草)