上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 109 下一页

2019年7月1日

线段树逆序对(偏序)——cf1187D好题!

摘要: /* 排除掉所有不可能的情况,剩下的就是可行的 1.数的数量不相同 2.对任意一个区间进行排序,等价于可以交换任意逆序对, 那么从1到n扫描b数组,判断是否可以将a数组中等于b[i]的值所在的位置j交换到位置i,等价于判断区间a[i,j]是否存在 #include using namespace std; #define maxn 300005 #define inf 0x3f3f3f3... 阅读全文

posted @ 2019-07-01 16:45 zsben 阅读(275) 评论(0) 推荐(0) 编辑

2019年6月30日

暴力贪心+预处理自动机——cf990E

摘要: 枚举每种灯管,然后找到代价最小的那种灯管 贪心策略:灯管从0开始向右放置,如果末尾是不能放置灯管的结点,那么要往回找到最近一个可以放置灯管的结点,在那里放置灯管 所以先预处理每个不能放置灯管的结点对应的最近的可以放置灯管的结点,即要能够自动往前找下标 阅读全文

posted @ 2019-06-30 19:42 zsben 阅读(203) 评论(0) 推荐(0) 编辑

组合数学——cf991E

摘要: /* 如果有某一位,那么这一位必须存在 枚举所有情况,计算每种情况时0额外另算 */ #include using namespace std; #define ll long long ll ans,n,cnt[11],F[20],a[11]; ll calc(){ ll res=1,len=0; for(int i=1;i>n; while(n){ ... 阅读全文

posted @ 2019-06-30 15:55 zsben 阅读(296) 评论(0) 推荐(0) 编辑

计算几何,向量——cf995c

摘要: 网上的题解直接用随机过的, 自己用模拟就模拟三个向量的和并就模拟不出来。。 以后再回头看看 阅读全文

posted @ 2019-06-30 11:28 zsben 阅读(158) 评论(0) 推荐(0) 编辑

2019年6月29日

(组合数学)不定方程的解+猜测——cf997B

摘要: 首先要求出三种等价情况 5×1+1×50=1×5+5×105×1+1×50=1×5+5×10 9×5=5×1+4×10 8×5+1×50=9×10 那么可以求出三种关于x5,x10的不可行条件 x5 ≥ 1 且 x10 ≥ 5 x5 ≥ 9 x10 ≥ 9 那么只要依次枚举这x5,x10的可能的取值 阅读全文

posted @ 2019-06-29 23:26 zsben 阅读(260) 评论(0) 推荐(0) 编辑

背包dp+打表处理——cf999F

摘要: 考虑每种c都是可以独立进行计算的,所以这题的答案等价于每种c的最优解之和 计算每种c的最优解:把问题转化成求出每种c的最大值,再转化成i个人分j张卡片的最大收益 dp[i,j]表示i个人分j张卡片的最大收益,由于h对于每种状态都是确定的,所以我们只要进行一次打表O(n*k*n*k),这个dp打表类似 阅读全文

posted @ 2019-06-29 15:44 zsben 阅读(264) 评论(0) 推荐(0) 编辑

强连通图缩点——cf999E

摘要: 问题转换成缩点求度数为0的点的个数,s点所在联通块作额外处理 缩点写的很烂调了一早上。。 阅读全文

posted @ 2019-06-29 11:48 zsben 阅读(302) 评论(0) 推荐(0) 编辑

2019年6月28日

异或前缀和——cf1186C

摘要: 很思维的题,b的1个数和c的1个数相差为偶数时,必定有偶数个不同 反之必定有奇数个不同 阅读全文

posted @ 2019-06-28 23:43 zsben 阅读(371) 评论(0) 推荐(0) 编辑

线段树离散化+区间更新——cf1179C好题

摘要: 绝对是很好的题 把问题转化成当第i个询问的答案是数值x时是否可行 要判断值x是否可行,只要再将问题转化成a数组里>=x的值数量是否严格大于b数组里的>=x的值 那么线段树叶子结点维护对于值x的a数组里的合法数数量-b数组里的合法数数量,如果是正数即这个值可行 线段树维护区间最大值,然后询问最靠右的非 阅读全文

posted @ 2019-06-28 19:21 zsben 阅读(285) 评论(0) 推荐(0) 编辑

2019年6月23日

暴力剪枝——cf1181C

摘要: 暴力求长度为len时,以i,j为左上角的旗子的数量 不剪枝的话复杂度是n*n*m*n,必定超时 两个可以剪枝的地方:如果格子[i,j]可以作为长度为len的旗子的左上角,那么其必定不可以作为长度>len的旗子的左上角 同理,如果格子[i,j]为左上角不可以组成长度为len的旗子,并且是因为len行内 阅读全文

posted @ 2019-06-23 11:09 zsben 阅读(289) 评论(0) 推荐(0) 编辑

上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 109 下一页

导航