会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
mzl0707
博客园
首页
新随笔
联系
订阅
管理
2020年7月13日
HDU3364 Lanterns(高斯消元处理亦或方程组)
摘要: 首先将本题抽象成一个关于运算xor的方程组 a11x1 ^ a12x2 ^ ... ^ a1mxm=b1 ... an1x1 ^ an2x2 ^ ... ^ anmxm=bn x_i=1或0表示是否按下第i个开关 a_nm=1表示第m个开关控制第n盏灯 b_i表示第i盏灯最终状态 那么a_ij和b_
阅读全文
posted @ 2020-07-13 12:49 mzl0707
阅读(1)
评论(0)
推荐(0)
2020年7月3日
SHOI2002 滑雪:记忆化搜索(本质是动态规划)
摘要: 记忆化搜索可行的关键点在于求解过程的无后效性,比如本题中要求下滑轨迹必须是连续单调下降的路径,所以高位置的解只与低位置的解有关,因此满足无后效性。 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #define max
阅读全文
posted @ 2020-07-03 11:05 mzl0707
阅读(174)
评论(0)
推荐(0)
2017年2月16日
斜率DP复习总结
摘要: 斜率DP如bzoj4518征途f[i]=f[j]+(sum[i]-sum[j])^2;决策j<k,要求最小值,因此当决策k优于决策j时f[k]-2*s[i]*s[k]+s[k]^2 < f[j]-2*s[i]*s[j]+s[j]^2即(f[k]+s[k]^2)-(f[j]+s[j]^2) < 2*s
阅读全文
posted @ 2017-02-16 16:53 mzl0707
阅读(203)
评论(0)
推荐(0)
2017年1月22日
bzoj3545 && bzoj3551 Peaks(离线版&&在线版)
摘要: 题目给n点m边的无向图,有点权和边权 每次询问求点v在经过路径上的边都不超过w的情况下,能到达的第k大的点的权值 首先离线版比较容易想到,属于我现在能码出来的最难的码农题之一吧T T 这道题思路是这样的 1、对于边权的限制条件,可以先想到做一棵最小生成树 2、对于第k大这种询问,可以建权值线段树,但
阅读全文
posted @ 2017-01-22 23:01 mzl0707
阅读(607)
评论(0)
推荐(0)
2017年1月19日
bzoj1670: [Usaco2006 Oct]Building the Moat护城河的挖掘(凸包入门)
摘要: 题目大意:找一圈点能把所有点包围起来,求这个圈的长度 算是模板吧,其实也不难,就是细节很多,代码很丑(凡是计算几何的题都很不怎么简洁) 大概思路是这样的 1、找y最小前提下x最小的一个点作为基点 2、按照其他点和基点的连线的斜率逆时针排序,排序过程不是以k来判断,而是以两两的叉积判断 向量a,b :
阅读全文
posted @ 2017-01-19 23:15 mzl0707
阅读(193)
评论(0)
推荐(0)
bzoj1874: [BeiJing2009 WinterCamp]取石子游戏(博弈论+SG函数入门)
摘要: 昨天在唐神的引导下看了有关博弈论的知识,总算是有点了解,觉得这东西比较抽象,但是很神奇很有趣。 一个nim游戏中,每堆石子的sg函数其实可以理解为此状态到不了的状态,我觉得从某种意义上来讲就可以代表此状态 判断一个游戏局面先手是否必胜,求所有点的sg值得亦或和sum sum为0必败,其他必胜。原理可
阅读全文
posted @ 2017-01-19 23:05 mzl0707
阅读(279)
评论(0)
推荐(0)
2017年1月15日
bzoj3322 最大生成树+LCA
摘要: 题目大意:给个无向图,每条边有个限制,每个点最多能买入和卖出一定黄金;然后按顺序走过n个点,求每个卖出黄金的点最多能卖出多少黄金 一开始有点懵,想着怎么再图上做这个问题,后来知道要先建一棵最大生成树 然后就好做了,做的时候黄金全都拿,不必考虑第一个条件,因为就算花不完也能在之前某个地方少买一点黄金
阅读全文
posted @ 2017-01-15 13:39 mzl0707
阅读(176)
评论(0)
推荐(0)
2016年12月17日
bzoj3648: 寝室管理(环套树+点分治)
摘要: 好题。。写了两个半小时hh,省选的时候要一个半小时内调出这种题目还真是难= = 题目大意是给一棵树或环套树,求点距大于等于K的点对数 这里的树状数组做了一点变换。不是向上更新和向下求和,而是反过来,所以求和的时候sum(k)实际上是求k到n的和 所以我们要求大于等于k的dis的次数和,就是求sum(
阅读全文
posted @ 2016-12-17 12:18 mzl0707
阅读(427)
评论(0)
推荐(0)
2016年12月15日
bzoj2599: [IOI2011]Race(点分治)
摘要: 写了四五道点分治的题目了,算是比较理解点分治是什么东西了吧= = 点分治主要用来解决点对之间的问题的,比如距离为不大于K的点有多少对。 这道题要求距离等于K的点对中连接两点的最小边数。 那么其实道理是一样的。先找重心,然后先从重心开始求距离dis和边数num,更新ans,再从重心的儿子开始求得dis
阅读全文
posted @ 2016-12-15 16:44 mzl0707
阅读(571)
评论(1)
推荐(0)
2016年11月17日
bzoj3380+3381+3382+3383 Usaco2004 Open
摘要: 四道比较水的题 T1:SPFA+状压 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 #include<queue> 5 #define INF 0x3f3f3f3f 6 using namespace std; 7
阅读全文
posted @ 2016-11-17 08:26 mzl0707
阅读(154)
评论(0)
推荐(0)
下一页
公告