随笔分类 - codeforces
摘要:题意:一个n个点,m条边的无环无重边有向图,经过第i条路径需花费时间ti,要求你选一条从1到n的路径,使得经过的不同城市最多,并且总时间小于等于t。 题解:很简单的一道dp,考试的时候没想出来,一通乱搞,最后跑去A了D题。 dp[i][j]表示第i个点,已经经过了j个点的最小时间,按照拓扑序搞一搞即
阅读全文
摘要:我随手一交就是一个AC 题意,一个n*m的矩阵,n,m<=1000,每次交换两个没有公共部分的子矩阵(可以有公共角),进行q<10000次操作,输出最后的矩阵。 题解:对我来说太神啦,居然是用链表,每个点维护它下面和右边的点是什么,建一个(n+1)*(m+1)的矩阵,矩阵的右下n*m部分是原矩阵,然
阅读全文
摘要:题意:给你一个可重集,有添加一个数,删除一个数,和询问一个数与这个集合中的一个元素的异或值最大是多少。所有数小于10^9。操作数小于20万。 题解: 我是按位处理,如果从高到低第i位为0,就去集合中找该位为一的,反之则找为0的,而这些数是连续的。 标答线段树,因为它每一层分下去的节点是固定的。 我没
阅读全文
摘要:C题,读懂题后一眼秒 题意 n个字符串,你可以翻转任意一个字符串,有c[i]的代价。求最小代价,使得n个字符串按非严格字典序排列(可相同)。不可能则输出-1。 一开始先把总长度小于10万看成了每个串小于10万,想不到该怎么做。 读懂题后秒懂dp 然后。。。 本来不想写的,感觉就乱搞一下就行,然后还是
阅读全文
摘要:蒟蒻只能打div 2 A题水,10和个位数的使用互不影响,所以直接在模10意义下做 1 #include<bits/stdc++.h> 2 using namespace std; 3 int k,r; 4 int main(){ 5 scanf("%d%d",&k,&r); 6 k=k%10; 7
阅读全文
摘要:A:随便c 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n,m,ans=0; 5 char ch[108]; 6 scanf("%s",ch); 7 int q,l=strlen(ch)-1;int a,b
阅读全文