bzoj
geng4512
蛤蛤蛤蛤
展开
-
HNOI2011 BZOJ2326 数学作业
传送门 看到这道题后应该很容易想到矩阵加速递推, 但是构造矩阵时发现有一个lg,不知道怎么办,就只好每翻十倍做一次,结果竟然是正解,汗(⊙﹏⊙)b。(但是我不知道第一页的那些0ms怎么跑的……)/************************************************************** Problem: 2326 User: geng4512原创 2015-07-18 19:15:08 · 658 阅读 · 0 评论 -
BZOJ1008: [HNOI2008]越狱
传送门 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱。思路:显然这是一道卡没学过高中数学的初中神犇的题目……因为只有第一个人随便是什么,其他的人都要和前一个人不相同,那么不会发生越狱的可能种数就是M∗(M−1)n−1M*(M-1)^{n-1},那么答案就是MN−M∗(M−1)n原创 2016-02-04 13:56:24 · 555 阅读 · 0 评论 -
BZOJ3932: [CQOI2015]任务查询系统
传送门 题目大意:在[s,e](闭区间)上加入一个数字k(就相当于在s时刻放入,e+1时刻取出)。支持询问在t时刻时的第k大数。想一想就可以知道主席树能水过这道题。/************************************************************** Problem: 3932 User: geng4512 Language: C++原创 2016-02-04 13:46:09 · 1014 阅读 · 0 评论 -
BZOJ3140 HNOI2013消毒
传送门 这道题有毒 我在做的时候就在想有没有一个什么“三分图”的匹配?(脑洞打开) 发现想不出来了,有观察到a,b,c中最小的最大只有17(a∗b∗c==5000)=>(min(a,b,c)<=50001/3)(a*b*c == 5000) =>(min(a, b, c) <={5000}^{1/3})就又写起了搜索……(因为每一次肯定可以通过选取1*x*y的一块矩形,最终得到最优解) 最原创 2016-01-16 00:58:55 · 1003 阅读 · 0 评论 -
BZOJ3139 HNOI2013比赛 (搜索)
传送门 拿到这道题我开始想了想有没有什么递推关系?然后想了想状压DP? 均无果…… 开始写搜索,练习赛是只拿到了70分(暴力+剪枝),对每一场比赛搜索……看题解才发现是记忆化搜索。在搜索的时候可以将当前状态Hash下来。应为每个队最多只打9场比赛,所以最大得分27分,只有10个队伍,用28进制int64能装下。 而且不应该一场比赛一场比赛的搜,这样就不好利用之前的状态(因为这道题里每个人是等原创 2016-01-16 00:46:50 · 914 阅读 · 0 评论 -
BZOJ1003: [ZJOI2006]物流运输trans(DP)
传送门 额,这道题拿到过后没有什么有建树的想法……甚至根本就没有往DP哪方面去向(还是题见少了,人太笨了……)所以就偷偷的看了一下discuss,看到了状态转移方程才恍然大悟。 f(i)=f(j)+dis(j+1,i)∗(i−j)+K其中(0<=j<i)f(i) = f(j) + dis(j+1, i)*(i-j) + K 其中 (0 <= j < i) KK是修改一次的花费,用dis(原创 2015-11-15 13:16:06 · 1330 阅读 · 0 评论 -
BZOJ1001: [BeiJing2006]狼抓兔子 (最小割)
传送门 题目大意:求给出图的最小割(……题目就是这个意思)。 明眼一看,这就是一个裸的最大流,可是被数据范围吓住了,有10610^6个点,然后又有3∗1063*10^6条边,对于网络流可怜的O(n2m)O(n^2m)的时间复杂度来说,简直是怪兽……但之前有同学告诉我,这道题就是最大流,我就硬着头皮上了一个ISAP,光荣超时,然后去找题解(想不出来了……)发现了两种,一种是把每一个面当做一个点,然原创 2015-11-15 13:06:04 · 2148 阅读 · 2 评论 -
NOI2015 Day1 T1 程序自动分析
在刚刚结束的NOI网赛里被虐了,只好写一下T1题解来发泄QAQ题目大意:给你n个判定式(等式或不等式),让你判定这些式子是否冲突。对于这道题,我们可以用并查集来保存等式,每枚举一个等式,把相等的合并,后来判断不等式,检测到非法的后就输出NO。#include<cstdio>#include<stack>#include<cstring>#include<algorithm>using nam原创 2015-07-19 21:08:02 · 2350 阅读 · 0 评论 -
BZOJ2223 PATULJCI COCI2009_CONTSET3
背景: 输入: 输出: 大意: 白雪公主和N个小矮人住在森林里。每天早上,矮人们排成一队出去挖矿的路上,白雪公主就负责给他们拍照,并把这些照片传到社交网络上去。 白雪每次都会拍很多照片,她要从中选出一些完美的照片。小矮人们都戴着不同颜色的 帽子。如果照片上小矮人们有一半以上人戴着相同颜色的帽子,则这张照片就算是美丽的。 也就是说,如果照片上有K个人,如果有多于K/2的人带原创 2015-08-25 22:31:04 · 851 阅读 · 0 评论 -
CQOI2009 BZOJ1304 叶子的染色
传送门 先提一句,这道题确实可以像题目说的一样,任意选择根节点(原因自己想)。 这道题显然是树DP 我们用F(u,color)表示以u为节点的子树所需的最少节点数,且u刷成color。 F(i,0)表示点i涂黑色,dp(i,1)表示点i涂白色 所以有F(i,0) = sum(min(dp(i.son,1),dp(i.son,0)))当点i涂黑色时,他涂黑色的儿子可以少涂一个点,i涂白色时同原创 2015-07-18 19:06:01 · 1660 阅读 · 0 评论 -
BZOJ1047 HAOI2007 理想的正方形
传送门 首先,我们应该先算出每一行每N个数的最大值,保存在mx里面。 同样的再处理出mn(最小值)。 然后处理出mx数组中每一列每N个数的最大值,保存在MX中。 同样的再处理出MN(最小值)。 (以上的处理用单调队列最方便。) 然后再n²处理出MX-MN的最小值就行了这道题我的代码略丑……/*************************************************原创 2015-07-18 19:32:06 · 771 阅读 · 0 评论 -
BZOJ4293 [PA2015]Siano(线段树)
传送门 这Seg确实不好写,不过因为它与ai的相对顺序无关,所以,我们在对ai排序之后,就可做了。维护一个区间最大值,维护一个和,维护一个区间赋值的懒标记,再维护一个时间变化的标记就可以了。 因为不论怎样在排序过后的序列里面右边的一定不小于左边的,所以我们可以在线段树里面二分来找到每一次操作的开始位置,然后就可以区间修改了。#include<cstdio>#include<algorithm>原创 2016-02-20 11:11:19 · 1117 阅读 · 3 评论