摘要:
2012.07.2509:55 飞机在晚点55分钟后终于从成都出发,突然意识到,NOI就这样突兀而自然地开始了。12:20 终于到达了上海浦东。海风大得惊人。阳光很好。精神不错。好像饿了。17:50 经过地铁和高铁的折磨后来到了地面温度高达39.2摄氏度的常州。没想象中的热。出火车站没几步就到了椿庭大酒店。冬令营的时候也是在这里啊。23:20 困了。这天气也太干燥了吧。喉咙像是要燃烧起来。明天有和常州高级中学的友谊赛。睡不成懒觉。囧。2012.07.2606:50 干嘛得起得这么早啊。太阳晒得惊人。成都果然才是适合人类居住的地方。08:00 在常高考试。这是所谓的友谊赛?乱糟糟的,吟诗的也有, 阅读全文
摘要:
题目大意:很多武器, 很多老鼠, 模拟若干秒.(实际题意要麻烦很多)简要分析:算法????我会告诉你除了模拟之外就没了么????写模拟的时候用点平时从来不用的语法感觉很爽啊......虚基类......继承......多态......代码实现:View Code 1 #include <cassert> 2 #include <cctype> 3 #include <cmath> 4 #include <cstdio> 5 #include <cstdlib> 6 #include <cstring> 7 #include 阅读全文
摘要:
题目大意:一个无向图, 每条边有颜色, 颜色不超过10种. 从一个点出发的同色边不超过2条, 且不存在同色环. 操作有修改一个点的权值, 修改某条边的颜色, 询问两点之间由某种颜色构成的简单路径上权值最大值.简要分析:围观这道题...发现相同颜色的构成了一坨链, 操作就是连接两条链, 断开一条链, 询问同一链上两点间最大值.赤裸裸的数据结构题. 用Splay维护所有链, 可以很方便的断开和连接. 注意连接的时候可能会需要把其中一根链反转, 这个是经典操作, 打标记就可以了.一个trick就是询问的两个点相同...我的程序要特判...晕...加上读入优化后速度还可以. 另外这题不是链而是树的话也 阅读全文
摘要:
题目大意:给一个N * M(N和M都不超过15)的带有一些障碍的棋盘, 考虑用1 * 2的多米诺骨牌去覆盖它, 需满足: 任意相邻两行之间有至少一个骨牌跨越, 任意相邻两列之间有至少一个骨牌跨越, 不要求把棋盘放满, 障碍不能被覆盖. 求方案数.简要分析:初看是一道喜闻乐见的插头题...仔细一想如果要强行记状态的话状态数达到了2^30...但是求出一个棋盘任意放的方案数是可以做到O(N * M * 2 ^ (M + 1))的, 于是考虑能不能用一些子矩阵的随意覆盖的方案数来拼凑出答案. 容斥? 试试看: 整个随意放的答案 - 有1列不满足要求的答案 + 有2列不满要求的答案 - ...看上去很 阅读全文
摘要:
题目大意:给一个N * M的正整数矩阵(N和M均不超过1000), 求上下对称且左右对称的正方形子矩阵个数.简要分析:晕...这难道是二维的回文串???因为正方形长度可以是奇数也可以是偶数, 讨论很讨厌, 所以我们先把原来矩阵两两之间填上0, 变成(2 * N - 1) * (2 * M - 1)的矩阵.这样我们就只用考虑正方形变长为奇数的情况, 也就是说我们需要统计以每个合法位置为中心的"回文"正方形个数.于是我们可以求出一个中心(i, j), 在只考虑向左的方向时, left[i][j]记录它最长能延伸多远. 同理可以定义right[i][j], up[i][j], d 阅读全文
摘要:
题目大意:从左到右N堆石子, 每对石子数为a[i]. 两方轮流操作, 一次操作可以从最左边或最右边的石子堆取任意数量石子, 但不能不取, 不能操作的输. 问先手是否有必胜策略. (N不超过1000)简要分析:好囧的博弈题...现在我的脑袋里还是一团乱麻...在尝试SG函数, 区间DP无果后, 在Discuss的诱导下注意到对于一段区间[L, R], 若L+1到R的石子数固定, 那么使得在这段区间上先手必败的a[L]有且仅有一个.这个性质灰常给力啊. 于是可以YY一个状态出来. 设left[i][j]表示, 在[i, j]区间的左边加上left[i][j]这个数后先手必败, right[i][j 阅读全文
摘要:
花了点时间做完了前11章, 小小的总结一下. 注意那个前几章的题每个人都有差异.1.1 基础的输入输出练习1089 1090 1091 1092 1093 1094 1095 10961.2 简单题 很多简单模拟下就可以1008 1064 2719 2393 1170 3361 1219 30791.3 涉及到基础的贪心和排序1052 经典的田忌赛马 两排马排序过后 每次贪心 若最弱的马的实力不等于齐王 那一定有最弱的对最弱的 否则就在田忌最好的马不敌齐王时用最弱的马去碰 没了1234 1084 2673 2109 1051 1718 10402.1 简单的数学 一些经典问题用线性筛法可以轻松 阅读全文
摘要:
为什么总是一边对自己的幼稚咬牙切齿,一边又绞尽脑汁地拒绝成长。 今日与初中同学小聚,他们那些年曾经洋溢着的可爱的稚气似乎已化为内心的沧桑,成熟与老练,让人心痛。对,成长让人心痛,自己又何尝不是这样。于是昔日的一幕幕在脑中缓缓浮起,却又缓缓揉碎在一起,化成仰角四十五度的忧伤。陈旧的回忆在岁月一刀刀的雕刻下,逐渐朦胧,依然美好,依然给人止不住的悸动。第一次给女孩戴上围巾的那一晚,两人的世界似乎真的不再寒冷,男孩笨拙的手,女孩浅浅的笑,就那样柔和的在寒风凛凛的夜晚定格。能相逢就是最好的缘了。祝她幸福。 那时,我居然会在考场作文中书写自己的感情,直接用“是”回答班主任对这个事情的质问,现... 阅读全文
摘要:
感谢csimstu找了这么多好题啊~字符串哈希: 基本就用大质数乘幂了. 这些题其实都是后缀数组的基础题, 被我用哈希水了...POJ 1743 Musical Theme 男人八题中的一道POJ 3261 Milk PatternsPOJ 2774 Long Long Message后缀数组: 终于学会强大的后缀数组了. 倍增搞出sa和rank后, 顺带处理一个NX的height, 多个串的问题就是连起来做一遍后缀数组, 很多都是二分答案或是枚举答案并按height分组.POJ 3294 Life FormsPOJ 3581 SequencePOJ 3415 Common Substring 阅读全文
摘要:
题目大意:给出两个状态数不超过2000的DFA, 判断是否同构. 同构的意思是能识别的语言完全相同. 字符集最大26.简要分析:本来想把所有字符串从一个DFA里面搞出来, 再对另一个DFA进行黑箱测试, 但一看样例, 有环!!! 也就是说, 它们能识别的语言可以是无限的!于是就只好曓搜了, 用(i, j)二元组表示两台自动机分别在状态i和j, 从(0, 0)开始广搜, 搜出一个二元组(i, j), 则两台DFA同构的充分条件是状态i和状态j相同, 这里判断相同考虑两方面就行了: 是否同为final态(或者叫accept态?)或同不为, 转移方式是否完全相同. 若所有的二元组能满足, 则可以判断 阅读全文