摘要: T1: 一道背包,从大到小排一遍序,枚举取到了第i个物品f[j]表示这时剩余j元的方案数. 取第i个物品:f[j]+=f[j a[i]],若i取的话,i+1...n一定要被取到,那么剩余的钱在m a[i]的范围内时就可以更新答案. 出自不知道谁写的,给我们发下来的题解上。。。 T2 数学题 算法:组 阅读全文
posted @ 2018-07-09 21:00 SWHsz 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 我好咸鱼。 归并排序之前写过,树状数组就是维护从后往前插入,找比现在插入的数大的数的数量。 如果值域大,可以离散化 归并排序求 cpp include include include using namespace std; int n,a[50005],b[50005]; int merge(in 阅读全文
posted @ 2018-07-09 20:43 SWHsz 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 想填一下以前的坑,结果发现是巨坑Orz lcs就是把a序列的位置映射到b序列上,求一个用树状数组lis即可 好简单啊,我真的是咸鱼Orz cpp include include include using namespace std; int n,ans; int a[100005],b[10000 阅读全文
posted @ 2018-07-09 10:52 SWHsz 阅读(246) 评论(0) 推荐(1) 编辑
摘要: 分层图bfs/spfa spfa好难写。。。 调不出来,写了bfs 记录持有钥匙的状态,以此分层即可。 cpp include include include include using namespace std; const int N=105,dx[4]={0,0,1, 1},dy[4]={1 阅读全文
posted @ 2018-07-09 10:00 SWHsz 阅读(212) 评论(0) 推荐(0) 编辑