摘要:
谢天谢地! 首先鸣谢人帅话骚的好心人lyd的细心指导,lnc的提壶灌顶的思维引导,耗时1.5天,我。。终于调过了 好,步入正题: 30% 暴搜,不解释 #include<bits/stdc++.h> #define int long long #define MAXN 100010 using na 阅读全文
摘要:
大模拟,按一个点(左下或右上)排序,考虑对他的贡献有四个方向,再减枝即可 第二个样例的图,拿走不谢 #include<cstdio> #include<iostream> #include<algorithm> #define int long long #define MAXN 100010 us 阅读全文
摘要:
擦汗。。。最后是颓代码过的 尽管之前已经讲过什么矩阵优化,除了优化费波数(早忘得一干二净),就没有码过了(线性代数就做了一道题)。 考虑30%(数据3,4,5)的dp[i][j]表示i次操作后,x为j的方案数 for(int i=1;i<mod;++i)dp[1][i]=cnt[i]%MOD; // 阅读全文
摘要:
题很好,让我发现自己没有一些套路意识。 先沾一下正版题解 标签:dfs,树形DP,高斯消元 分析:本题是一道二合一的问题,两个子任务相互对称. 算法1: t=0的数据最直接的想法是从每个点出发做一遍dfs,时间复杂度O(n^2),可以通过第1个测试点,期望得分10分 算法2: t=1的数据最直接的想 阅读全文
摘要:
先粘上从学长那里偷来的板子 To be continued... 基本解释:大致思路为第一维排序,第二维归并,第三维数据结构。注意相同元素的去重和其累计答案的细节。 阅读全文
摘要:
大体意思是让字符串的两种字符串分开。首先,可想到处理环的问题,转换成2*n-1的序列问题。 手玩的几个性质: 1.最优的方案一定只有不同颜色的寿司交换 2.一个寿司的移动步数可以O(1)求 3.一定存在一个断点使得所有蓝色的移向两侧(假设动蓝色的)(和全都移向断点一样) 4.只考虑蓝色的和只考虑红色 阅读全文
摘要:
ksize=sqrt(N); for(int i=1;iQ[i].l)upd(--l,1); while(rQ[i].r)upd(r--,-1); nans[Q[i].id]=dres; // coutb.r); } //理论上快一倍的排序,为了让r的每一步都能尽量更新答案 void upd(int pos,int knd){ dres+=knd*2*tong[rn[pos]]+1;... 阅读全文
摘要:
此帖功利心过强,弃更 全站最高浏览量,全是本人反省时刷的 2019/7/16 rank 20/51 嗯嗯,确实比较接近noip的难度了,第一次体验到自己想到正解的快感。然而成绩不尽人意. T1:概率DP,显然,犯难,日常不会概率DP。(题目讲的辣莫短,我系不系理解错了?猜题意,昂,能同时取两件吗?不 阅读全文