GDOI2015 解题报告

首先嘛现在发现题目这么水我还啥都没想出来正是呵呵了。接下来就口胡下GDOI的题解吧

PS:代码什么的要请联系我

题目:快戳我

Day1:

T1:这个嘛,可以先找到起点所能到达的每个点然后判断该点能否到达终点,后一步可以发现如果从终点沿反向边遍历所能得到的所有点就是能到达终点的点,然后扫一下即可

在实现方面建议先把图建出来不要直接按照题意做

T2:

方法一:可以发现当做到第i个人的时候前i-2都已经覆盖,从i+2开始都未被覆盖,也就是说做到第i个人有关状态只有2^5种,然后就可以直接状态压缩dp了,发现n很大,每次的转移方程都是相同的所以我们可以用矩阵乘法优化

方法二:我们本着这个数列一定存在一个递推式的信念暴力出前10的答案,然后高斯消元就可以得到递推式,用高斯消元即可。

如何不用高斯消元呢?

设f[i]为答案,g[i]为长度为i的无法分成两块的方案,那么f[i]=sigma(f[j]*g[i-j]),写出g[i]来可发现从第4项开始就是一个常值数列了,就可以化简成递推式了

T3:

可以先把共抽到炎爆术张数作为x轴,抽到奥术智慧作为y轴,那么模型就变成了从点0,0,出发,每次向x+1或y+1走一步,求到达x=q不经过y=x-1的方案数

怎么求到达点(x,y)不经过y=x-1的方案数呢?

[JLOI]2015骗我呢!!!具体来说就是把起点对y=x-1做对称,那么从对称点到终点的方案就是经过的方案(因为所有方案按y=x-1做翻转都会经过这条直线)

T4:

裸的树链剖分即可

6B的代码有木有!!!人生打的最长的一个程序啊QAQ(k小割这种3合一的程序还只5B)OTZ写了12B的GWY

关于一些优化:我们可以直接把修改变成清零然后再加就可以少掉一堆操作了

当然有超多恶心的细节需要操作

说白了就是防AK题。。。

Day2:

因为没了防AK题就有2人AK一个快A了(OTZ石门众神)

T1:裸的广搜题,在判断方块是否能在某点上用8个int或一个unsigned longlong解决即可

T2:裸的找桥,数据很仁慈的不卡系统栈不开心

T3:听说是SA模板题,先处理出sa数组还有h数组然后枚举长度L对每块h[i]大于L的快排下序贪心拿就行了

用基数排序就能N^2了(反正我基数常数太大挂了还是sort好)

然后n sqrt(n) log n的算法忘了。。貌似是块大小小于sqrt(n)的直接排序做,大于n的二分然后干毛忘了。。。。

T4:一道初中知识题,可以看出其实题目意思就是给你一堆m维向量然后让你求点积。考虑点积具有结合律就行啦

Day3:

其实是很水的但就是没水出来。。。

T1:如果记f[i]为k=1时的答案那么f[i]=sigma(f[j]*(i-j-1)!)*c(i-1,i-j-1)+i!化简一下发现能前缀和就直接O(n)解决啦

然后K》=2可以用二项式定理拆开来干

时间复杂度O(nk^2)

T2:

方法一:可以想出O(N^3)方的简单算法,按列处理,对每一列只保留每一行中距离该列最近的点,然后每一行就对这些点进行扫描就能得到最近距离了。

怎么优化到O(N^2)呢。考虑其中两个基站A(x1,y1),B(x2,y2)可以发现对于某个x坐标,A好于b的要求是((x1^2+y1^1)-(x2^2+y2^2))/(2x1-2y1)<x 然后可以发现x递增,所以我们可以用斜率优化

这种解法还是非常神奇的,以后看到有平方操作还是得想到斜率优化的

对了我们可以直接使用桶排这样就不用排序了

方法二:其实考场上就是方法二的。。。不过SPFA写错了。。。。

其实也是水法啦,我就是打了一个最短路然后发现如果我是向8个方向拓展好像不会错。。。然后我把dijstra改成SPFA发现好像几乎只会经过一次(也就是说可能可以改成BFS?!)然后就可以解决啦,正确性求证明(考场上就是有4个人用了类似BFS的方法水过的。。)

T3:

方法一:树剖可以把。。。。

方法二:离线然后考虑按边从小到大加入到这个图中,首先有个结论:某个点所能到达的最远点一定是该联通块直径的两端点之一。那么我们用并查集维护联通性,然后记录每个联通块的直径,我们就可以直接搞啦

方法三:其实评委一开始是考在线算法的。。。

还是点剖+主席树,具体又忘了。。等想起来再补吧。。。

T4:

暴力能过。

暴力能过。。

暴力能过。。。

特么暴力Dijstra写挂了!!

最短路跟我过不去系列

好吧讲正解

该题模型可以变成去掉某条边后求两点最短路

那么我们之间上最短路,纪录最短路以及不经过最短路的第一条边的最短路。

完了。。。

总的来说题目很水,自己太弱。

滚回去刷CF了,自己语文太弱,英语不行,数学被虐,PKUSC妥妥得跪

时间: 2024-08-03 15:22:51

GDOI2015 解题报告的相关文章

解题报告 之 POJ3057 Evacuation

解题报告 之 POJ3057 Evacuation Description Fires can be disastrous, especially when a fire breaks out in a room that is completely filled with people. Rooms usually have a couple of exits and emergency exits, but with everyone rushing out at the same time

hdu 1541 Stars 解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目意思:有 N 颗星星,每颗星星都有各自的等级.给出每颗星星的坐标(x, y),它的等级由所有比它低层(或者同层)的或者在它左手边的星星数决定.计算出每个等级(0 ~ n-1)的星星各有多少颗. 我只能说,题目换了一下就不会变通了,泪~~~~ 星星的分布是不是很像树状数组呢~~~没错,就是树状数组题来滴! 按照题目输入,当前星星与后面的星星没有关系.所以只要把 x 之前的横坐标加起来就可以了

【百度之星2014~初赛(第二轮)解题报告】Chess

声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站,因此,笔者添加此条声明. 郑重声明:这篇记录<[百度之星2014~初赛(第二轮)解题报告]Chess>转载自 http://tiankonguse.com/ 的这条记录:http://tiankonguse.com/record/record.php?id=667 前言 最近要毕业了,有半年没做

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh童鞋的提醒. 勘误2:第7题在推断连通的时候条件写错了,后两个if条件中是应该是<=12 落了一个等于号.正确答案应为116. 1.煤球数目 有一堆煤球.堆成三角棱锥形.详细: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形). -. 假设一共

[noip2011]铺地毯(carpet)解题报告

最近在写noip2011的题,备战noip,先给自己加个油! 下面是noip2011的试题和自己的解题报告,希望对大家有帮助,题目1如下 1.铺地毯(carpet.cpp/c/pas) [问题描述]为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有n 张地毯,编号从1 到n.现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上.地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的

ACdream 1203 - KIDx&#39;s Triangle(解题报告)

KIDx's Triangle Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description One day, KIDx solved a math problem for middle students in seconds! And than he created this problem. N

解题报告 之 CodeForces 91B Queue

解题报告 之 CodeForces 91B Queue Description There are n walruses standing in a queue in an airport. They are numbered starting from the queue's tail: the 1-st walrus stands at the end of the queue and the n-th walrus stands at the beginning of the queue.

解题报告 之 POJ1226 Substrings

解题报告 之 POJ1226 Substrings Description You are given a number of case-sensitive strings of alphabetic characters, find the largest string X, such that either X, or its inverse can be found as a substring of any of the given strings. Input The first li

解题报告 之 UVA563 Crimewave

解题报告 之 UVA563 Crimewave Description Nieuw Knollendam is a very modern town. This becomes clear already when looking at the layout of its map, which is just a rectangular grid of streets and avenues. Being an important trade centre, Nieuw Knollendam a