自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Loi_LXTT

你还要怎样更好的世界?树在。山在。大地在。岁月在。我在。

  • 博客(77)
  • 收藏
  • 关注

原创 考试易错点&&注意事项

一.审题1.看准需要输出的是什么,如果要输出多个答案,先标出输出顺序!!不要把答案弄反了(也不要把读入的变量弄反了) 2.一定把重点标出来,尤其是“最大”、“最小”这样的词,别把最大和最小弄反!! 3.仔细读题,仔细读题,仔细读题!!!!二.浮点数精度1.二分浮点数时,二分边界多精确一点(精确太多会T),一般比要求的精度多一点就可以了 2.有些莫名其妙的精度问题,不知道是怎么回事

2017-10-22 15:56:12 486

原创 最可爱的最可爱的可爱的留言板ヽ(^ω^)ノ

既然都来了,那就留个言呗~ 希望能勾搭到小学妹٩(๑>◡<๑)۶ (搞得好像我这个学姐喜欢撩妹子(。-`ω´-))

2017-09-23 20:42:11 1715 6

原创 【zqsz&&loi 互测 11.6】 T1

原题题目来源:poj 1845 原题传送门 原题求a^b的约数个数,本题作了修改: 题目很明显是求首项为1,公比为m的等比数列的前t项和Solution 1:等比数列通项公式+快速幂最关键的是取模用到逆元 求逆元?exgcd?费马小定理?不行不行,题目中没有说m和t-1互质 qwq get到了dalao的求逆元的通式: 求:(a/b)%m 公式:(a/b)%m=(a%(m

2017-11-06 20:29:47 418

原创 <分块>[HNOI 2010] 弹飞绵羊

在线oj提交传送门 第一次打分块的代码,qwq原来也不是特别麻烦每一个点记录跳出所在块的步数,和跳出这个块之后落到哪一个点,每次修改,都把整个块的内容全部修改一遍,复杂度O(nlogn)注意: 1.修改时一定要暴力把整个块内所有受到修改影响的点修改一遍 2.本题中记录了一个last数组表示每一个块的最后一个元素。修改时,要从该点一直到上一个块的最后一个元素的下一个元素也就是本块的第一个元素全

2017-11-03 21:35:04 273

原创 【队内胡策 11.3】 T3

我以为是个DP啊,而且考试的时候没明白这里的二维背包指的是什么(回去重修语文)其实是个贪心,前缀和+枚举?对于一个n * m的格子(也就是背包),如果只放进大小为3 * 1的物品,一般情况下可以放进n * m/3种。特殊情况:n或m为2,且另一个%3==2,格子会剩下4个,只能用1 * 2的来填满,所以最多放(n*m-4)/3个。如果知道了放几个1 * 3的格子,就可以O(1)算出1 * 2的物品可

2017-11-03 17:09:49 331

原创 【队内胡策 11.3】 T1 T2

再次把两个题写在一个博客里的原因是,这两道题简单。。 T1 暴力暴力暴力,不能再暴力的暴力,但是考试的时候打了很久,因为很多细节要处理最后还是wa了一个点qwq,原因见代码44、45行少了一个特判,意思是,第二个日期的月份为2时,如果不是2月29,那么特判的闰年是不应该加上的qwq代码:#include<iostream>#include<cstdio>#include<cstring>#

2017-11-03 16:54:19 331

原创 【noip 2016】组合数问题

去题面的传送门 神一般思考错了方向。。莫名在搞质因数分解。。其实质因数分解可做80%,最后20%超时,这个思路想到最后只能做80%了。。 正解超级简单。 吐槽:我哪知道组合数可以递推啊 C(n,m)=C(n-1,m-1)+C(n-1,m) 公式解释:从n个数中选m个物品,选定一个特殊物品,C(n-1,m-1)在剩下的物品中选m-1个,第m个选特殊物品;C(n-1,m)则表示不选特殊物品我一

2017-11-02 10:11:09 405

原创 【队内胡策 11.1】 T3

考试的时候打了八十分暴力QAQ虽然八十分过了,但是算法有bug。。数据没有卡我算法,然后就水过了8个点。。害怕。 正解: 二分+并查集 二分前mid个是否有矛盾的,特判一下全部符合的,答案为n+1 验证答案时,用并查集维护。 首先,如果已知一段区间[a,b]的最小值为x1,再出现一组猜测:[c,d]的最小值为x2。 ① 若x1 > x2且区间[c,d] 包含在[a,b]里,则自相矛盾。

2017-11-01 20:01:55 296

原创 【队内胡策 11.1】 T1 T2

至于我为什么把两个题放一起,看题就知道了:T1 O(T*3√p),10^8,正好卡时 啥也不说,代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;long long t,p;int main(){ scanf("%lld",&t);

2017-11-01 19:35:14 270

原创 【队内胡策 10.30】 T2

求一个被memset卡时的人的心理阴影面积 嗯。。多叉树。。考试的时候想成二叉树了 两个人肯定尽量去堵对方的路 所以他们一定会在一个点相遇 如果这个点还有其他分枝,按最优原则分配给两个人: 如果两个人走过的总边数为奇数,那么相遇后,下一个选择的人是Yjq,反之为Hja。每个人选择当前可以选择的分枝中子树权值最大的一个。所以预处理以每个点为根的子树的大小 这个题最麻烦的是分类求相遇点。。

2017-10-31 09:38:24 344

原创 【队内胡策 10.30】T1

对任意的正整数x,f(x)是满足条件x/(a*b)==c(a,b,c均是正整数)的有序数对(a,b)的个数。(有序的意思就是比如(1,2)和(2,1)是不同的方案)。 变形得: x==a*b*c; 对于n,答案是所有x小于等于n的f(x)的和。即所有满足条件n>=a*b*c的(a,b)的个数,即所有满足条件的a,b,c的个数。 问题转化为,求满足条件的组合(a,b,c)的排列数之和。 先求

2017-10-30 17:14:02 462 2

原创 <差分约束>luogu 3275 糖果

去题面的传送门 对于题目中的各种条件: ① a=b 建边a–>b=0,b–>a=0 ②a>=b 建边 b–>a=0 ③a>b 建边b–>a=1 为什么呢? 因为要求最少糖果数,那么对于a=b和a>=b的情况,就都让它们相差的最少,就是0,对于a>b,差的最少就是1,所以建边为1. 然后跑最长路。因为对于一个学生的糖果数量,要尽可能满足所有人的要求。如果存在最长路,那么该同学的糖果数就

2017-10-30 07:04:00 287

原创 <单调栈/悬线法>codevs 2491 玉蟾宫 1159 最大全0子矩阵

玉蟾宫 最大全0子矩阵 曾经做过玉蟾宫,现在拿来再做,却早就忘了。。。 一直在思考这个东西为什么要用单调栈来做。 既然是从左到右扫描,如果上一个矩形的高度大于当前高度,那么上一个矩形的高度对后面的答案就没有贡献了。如果上一个矩形的高度等于当前高度,那我们直接累加得到的答案肯定更优。对于这两种情况的矩形,既然留之无用,那为什么不扔掉!当把所有高度大于等于当前矩形的矩形扔掉后,会发现剩下的就是一

2017-10-29 19:42:35 321

原创 【noip 1999】旅行家的预算

去题面的传送门 贪心 从当前位置查找可以到达的最大范围内,最近的价格小于当前价格的站点。如果没有,就在当前站加满油,一直走到不能走到下一个加油站为止。直到到达终点。 一开始想的贪心是如果没有比它小的,就在可到达范围内找一个最小的,到那个站去加油。但是这样肯定不是最优的,既然找不到,那我们就在当前便宜的站点尽可能多地加油。#include<iostream>#include<cstdio>#

2017-10-29 18:25:20 604

原创 【noip 2002】字串变换

去题面的传送门 BFS 很暴力很暴力,因为数据范围实在是太小了 wa在了hash上。 以后hash的底数还是选质数吧#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int mo=2333,e=301;int

2017-10-28 20:45:36 394

原创 <tarjan||拓扑>codevs 2066 三角恋

去题面的传送门 第一次做超时了,只得了四十分。 做法是dfs找大小为3的环。数据范围是2000,一定超时。 下面是40分的代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=2000+10;int cnt,t,n;int

2017-10-28 16:14:34 324

原创 <并查集>luogu 1196 银河英雄传说

去题面的传送门 第一反应是并查集维护战舰之间的集合关系,记录每一个战舰前面的战舰数量pre[i],记录每一个并查集的集合大小rank[i],每次合并更新pre的大小,查询时如果两艘战舰在不同的集合里,直接return -1。反之,返回两艘战舰的pre之差-1,就是两艘战舰之间的战舰数量 但是对于如何维护pre,我调试了很久。 一开始想的是,每次合并时,把排列在后面的那个集合的根节点的pre+前

2017-10-27 16:58:59 241

原创 <(扩展域/加权)并查集>NOI 2001 食物链

可提交的传送门题目描述 Description动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。    现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。    有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是“1 X Y”,表示X和Y是同类。    第二种说法是“2 X Y”,

2017-10-27 09:21:43 340

原创 【队内胡策 10.26 】T1

QAQ蒟蒻我只做了六十分的暴力,六十分很好水O(n)做法: 每到遍历一个字符,查找在该字符前的所有已经遍历过的字符里,该字符作为最小值时的答案,和该字符作为最大值时的答案。我们统计一下到第i个位置,每个字符各出现了多少次,即sum[j]。但是,我们还要知道对于以该位置结尾的,以前面任何位置开头的子串中的答案。从1到i遍历一遍肯定会超时,这时想用什么方法,能够快速找到位置x,使得区间[x,i]的答案

2017-10-26 17:04:46 282

原创 【队内胡策 10.24 T2】术式

题目来源:codevs 2178 表达式运算Cuties 去题面的传送门 表达式计算 需要处理负数以及括号多余的情况 考试的时候交的代码比较长,崩溃了好几组,后来发现应该先判断栈空。还wa了几组。 考完时候继续调,调了很久都是有bug。就是在把所有的括号都计算完了之后,剩下的运算符之前没有处理好,直接丢在栈里了。而且我是最后把栈清空了一遍,这样就导致剩下的运算符没有按照优先级排列,出现

2017-10-25 16:31:06 280

原创 【队内胡策 10.24 T4】星际牛仔

题目来源:USACO 2015 DEC Gold 去题面的传送门 状压BFS 注意状态有思维,安全标记,方向,坐标。 记得某dalao说过开数组的时候,把小的放前面,大的放后面会快很多。所以安全标记只需要开2,就放在最前面吧。 还有,走到紫色格子的时候,只会朝着原来的方向滑动一格,而不是滑到底。。 代码打起来有点恶心,调了许久 代码:#include<iostream>#in

2017-10-25 14:45:00 307

原创 codevs 1026 逃跑的拉尔夫

去题面的传送门BFS 状态多一维表示目前处理到第几个方向 代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;const int maxn=1000+10;int N,R,C,dx,dy;int e[maxn];cha

2017-10-25 14:21:29 280

原创 【队内胡策 10.24 T3】洛圣都

题目来源:Codeforce867E(865D) Buy Low Sell High 去题面的传送门 第一反应是一个之前做过的DP,条件稍微改了一下,但是打了半天发现不对。好吧最后还是没有打出水分的DP 正解是贪心 很神奇的做法 首先来说一下做法,维护一个小根堆,从第一天到第n天for一遍,如果这一天的价格小于堆顶元素,直接加入堆。如果大于,ans+=该天的价格与堆顶元素的差,在堆里放入两

2017-10-25 11:30:45 303

原创 【noip 2013】火柴排队

去题面的传送门 QAQ昨天队内胡策的T1,成功打次了 没做过火柴排队的我考完试先跑过来做这道题了 首先,对于两个序列,要使他们之间的距离最小,也就是Σ(ai+bi)^2最小,肯定是最大的和最大的对应,次大的和次大的对应,也就是说,把两个序列排序后,各个位上一一对应。但是还要保证交换次数最少,所以不能打乱顺序。 举个栗子: A序列:4 7 2 1 B序列:3 2 1 4 排序后: A:

2017-10-25 11:02:15 224

原创 codevs 2218 补丁vs错误

去题面 QAQ光读题就恶心了我好久 一开始想的是把补丁和补丁建边,然后跑spfa,存当前的状态,看下一步是否能走。但是一看,状态最多有1000000+,补丁有最多100,vis数组和dis数组一定存不下。。。 QAQ那就把状态和状态之间建边吧,枚举每一种状态和每一个补丁,如果这个状态可以通过这个补丁变为另一个状态,建一条由该状态指向改变后状态的边,权值是该补丁的使用时间,跑最短路就行了 代码

2017-10-23 19:36:28 308

原创 【noip 2015】运输计划

去题面的传送门 题目的意思是:求将一棵树上的任意一条边权赋值为0时,所有航线的最长长度的最小值 想到二分答案 如何验证? 既然我们二分的答案是最长路线,也就是说,在将一条边权赋值为0之后,所有的路线长度应该都小于等于mid。但是只能删掉一条边,所以这条边是所有删边之前长度小于mid的路线的交边。问题转化为,能否找到一条边,被所有长度大于mid的路线经过。所以我们要统计每一条边被经过的次数。统

2017-10-23 14:55:00 397

原创 <背包DP>codevs 1684 垃圾陷阱

去题面的传送门求最早什么时候出来? 把高度看做背包的容量,能量看做物品的价值。特判一下在使用这个“物品”时,能量是否大于等于现在的时间。注意读入的数据还要按照时间排一下序。一旦高度达到,立刻输出时间。如果一直没有找到可行的方案,直接输出dp[0]代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>

2017-10-23 14:22:39 233

原创 codevs 5251 WYW的数字金字塔

去题面的传送门比较水的DP f[i]以不大于i为底的方案数之和 易知:f[i]=f[i-1]+f[n/k]#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxn=1000000+10;long long t,p,n,k,ans;lo

2017-10-23 14:16:20 242

原创 <二分答案加验证||最小生成树>bzoj 1821 部落划分

去题面的传送门Solution 1:二分答案加验证 并查集维护分成的部落 小于答案的边必须分到同一个并查集里,最后并查集的数目如果小于k,那么答案偏小 这里有一个问题 二分时,如果把各个点之间的距离排一遍序,二分这个数组的话,会wa 原因是,举个栗子: 比如说各点的距离里面,有一段区间是:[11.2145,12.4000],如果直接二分这个区间,在验证到答案11.2145时,发现11.2

2017-10-23 11:25:20 286

原创 【noip 2015】信息传递

去题面的传送门 QAQ这题有两种做法Solution 1: 暴力找环很明显题目是让找最小环,那我们就顺着找呗。一开始尝试用递归做,弄了半天也不行,不太好记录已经跑过了几个点。 其实每一个点的出度都是1,所以不用存图,直接一个数组记录每一个点连接的下一个节点是哪一个就行了。 记得还要for一遍,确定每一个点都跑过。 但是一开始这样交超时了。 后来发现,其实每次从一个点开始找环的时候,如果直接

2017-10-21 11:26:37 263

原创 【noip 2010】关押罪犯

去题面的传送门Solution 1:并查集QAQ之前做过并的查集做法。 按权值排序,优先把大权值的分开 对于一个节点a,a+n表示和它不在一个监狱里 代码:#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>using namesp

2017-10-21 07:52:34 225

原创 codevs 1174 靶形数独

去题面的传送门 QAQ这道题已经调了很久了,一直是TLE 第一次交,codevs 35分,洛谷 70分(好吧看到这样子我还以为洛谷的数据水来着) 后来加了一个优化,codevs 95分,洛谷 80分(这才知道其实是codevs数据水) 优化是这样的: 一开始读入之后,把所有没有填的空位,它的所在行、列、九宫格里的已经填了的数字统计一下,放到结构体里,然后按照数字数量由大到小排序(所在区域已

2017-10-20 16:17:24 345

原创 codevs 1391 伊吹萃香

去题面的传送门QAQ第一反应是dij,把走过的时间和耗费的体力放在结构体里。。但是死活TLE并且MLE好吧,去翻正解,是spfa哇哇,我IE什么我的脑回路就是和正解对不上。。其实可以不用记录走过的时间,记录奇数偶数,用0和1表示偶数和奇数很关键的一点,0和1的转化可以用异或来解决,QAQsummer说加一取模也可以,但是慢每次还要分直接走过还是先停一秒再走,是两种状态,所以dis和vis都开二维,第

2017-10-19 20:48:20 407

原创 【noip 2011】选择客栈

去题面的传送门QAQ很巧妙的方法 O(n)就可以做 边读入边处理 记录: ①now:为离当前客栈最近的,花费不超过p的客栈的坐标 ②sum[x]:已经对答案有过贡献的(与它之后的客栈之间有最小花费不超过p的)颜色为x的客栈的数量 ③tot[x]:之前出现过的颜色为x的客栈的数量 ④h[x]:之前最后一次出现的颜色为x的客栈(与当前客栈颜色相同且距离当前客栈最近的客栈)的坐标如何记录答案?

2017-10-19 16:06:22 926

原创 2017.10.18 队内胡策 D5

昨天考的题,今天早晨才把T2调完,竟然卡了精度原题链接: T1:gjh自己出的(灵感来源:codevs 1742 爬楼梯 链接) T2:luogu 2656 采蘑菇 链接 T3:codevs 1456 隐藏口令 链接 T4:luogu 1984 烧水问题 链接T1 第一问DP,第二问随便打打贪心 结果我第二问贪心在模拟的过程中就打次了(第一次贪心模拟输给了DP)不多说 很简单 代码:

2017-10-19 10:28:55 315

原创 <贪心>ZJOI 2008 泡泡堂

可以交的题目链接1 可以交的题目链接2 QAQ贪心先把两队人从大到小排一遍序 每次比较两队的队首和队尾(队首是本队最强的,队尾是本队最弱的) 最好的情况下(我方得分最多时) ①如果我方的队首大于对方的队首,用我方队首打败对方队首,显然最优 ②我方的队尾大于对方队尾,说明我方所有的人都可以打败对方的队尾,所以消耗一个最弱的来打他,显然最优 ③如果我方队首和队尾都比对方弱,(怎么着都得输一

2017-10-17 08:15:15 343

原创 2017.10.16 队内互测 D4

题目来源: T1:codevs 2913 建筑抢修T2:codevs 1089 侦探推理T3:luogu 2246 T4:luogu 3927ps:T2没有重新做,太恶心了T1: —考试的时候脑子w了,瞪它了一个小时死活思考不下去,做完后面回来看这道题的时候,直接看不下去了。。最后随便贪心了一下结果就过了一个点。。。 其实这道题本身就是贪心。 优先选择结束时间早的,占用时间短的放在前

2017-10-16 21:40:24 366

原创 <并查集+脑洞>codevs 1995 黑魔法师之门

去题面的传送门第一眼觉得这题很难。。。然后在手推样例时,发现每在一个连通块里加一条边,对答案的贡献就是原图的答案+1.也就是答案变为原来的两倍加一。一开始只是观察样例是这样的。后来发现这个题的确是这样。 为什么呢? (前提,加入的边的两节点都已经在连通块里) ①这两个节点本来就有边连接。相当等于用这条边替换其他的边。 ②这两个节点本来没有边连接。相当等于增加了一个强连通分量 每次答案输出

2017-10-14 21:45:07 452

原创 <并查集>luogu 1197 星球大战

去题面的传送门记得之前做过一个跟这个题很类似的。那道题是每次删一条边,问联通块的个数。正解就是离线处理,然后倒序加边,用并查集维护。而这道题是删点,同样想到离线处理然后倒序加点,唯一的不同是这道题要把这个点连接的所有边都for一遍。。。 话不多说,上代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorith

2017-10-14 19:14:41 288

原创 <二分答案+spfa验证>codevs 1183 泥泞的道路

去题面的传送门求一条路径(s1+s2+s3+…+sn)/(t1+t2+t3+…+tn)最小 可知对于这条路径(s1+s2+s3+…+sn)/(t1+t2+t3+…+tn)=v(平均速度) 等式变形:(s1-v*t1)+(s2-v*t2)+(s3-v*t3)+…..+(sn-v*tn)=0 问题转化为:找一个最大的v使得该等式对于某一条路径成立。 将边权转化为si-v*ti,跑最长路。二分答

2017-10-14 10:59:31 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除