2016 回顾

in 杂记

000B

well,该从何说起。

今晚见了一群小学同学,因为都是从小玩到大,毕竟同班好几年,外加大家都比较 friend(至少我这么觉得,,)。突然很感慨,然后翻了一下自己朋友圈,发现原来过去的 2016 似乎发生了很多事情,然而我却全忘记了……

突然很想写点什么,顺便给这个博客除除草。

Continue reading

Xcode插件

in 技术

在我看来,Xcode 已经是一个非常强大的IDE,而且苹果公司也一直在它添加新特性,不断的完善。即便 Xcode 已经足够强大了,但是总会有人觉得它不够好,或者想要给它做一些个性化的配置。如果你也有这样的想法的话,那么给 Xcode 安装第三方插件,或者自己给它写插件就是你的不二选择了。

Continue reading
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode

\documentclass[12pt, a4paper]{book}
\usepackage{extsizes} %使用自定义字号
\usepackage{fontspec} %字体控制包
\usepackage{xltxtra}
\usepackage{xunicode} %Unicode
\usepackage{indentfirst} %中文行首缩进
\defaultfontfeatures{Mapping=tex-text}
\setromanfont{Yuanti SC} %设置中文字体
\XeTeXlinebreaklocale “zh”
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt %文章内中文自动换行

\newfontfamily{\H}{STSong}
\newfontfamily{\E}{Zapfino}

TeX可以使用的字体大小默认为10pt|11pt|13pt,可以通过使用extsizes这个package来使
用其它大小的字体,可选的类型有8~12, 14, 17 和 20pt。

Comment and share

算法思想

对于构成最小环的点集{x1, x2, …},其中必定存在一个最大点xk,那么最小环的长度可以由dis[i][j]+m[j][xk]+m[xk][i]来表示,其中i,j均在点集中且小于xk,dis[i][j]是i到j的最短路径。因为xk是点集中最大的那个点,所以i到j的最短路径没有经过编号比xk更大的点。那么要求最小环的长度就可以由小到大枚举一下xk就行了。我们知道,floyd算法最外层每循环一次,就是由一个中间节点k更新点i到j的最短路径。k从小到大枚举,就保证了循环到k的时候,当前i到j的最短路经过的最大节点只可能是k,这刚好满足上面提到的dis[i][j]的定义。所以我们就可以愉快的使用floyd来求最小环了。

Continue reading

占位扯淡

折腾了几天,终于可以坐下来写点总结了。不过现在是早上三点多快四点,还在想六七点的时候要去踢球,所以只是
占个位置而已,熟悉一下。毕竟还有很多东西不会,不过光是搭好现在这个样子就用了挺多时间的(其实也不是很多啦。。。)

Continue reading

背景 Background

一阵狂风吹过
只听“pong”的一声,飘飘乎居士降落了!!!
描述 Description

又是美妙的一天,这天飘飘乎居士要和MM约会,因此他打扮的格外帅气。但是,因为打扮的时间花了太久,离约会的时间已经所剩无几。
幸运的是,现在飘飘乎居士得到了一张nm的地图,图中左上角是飘飘乎居士的位置,右下角是约会的地点。‘.’代表马路,‘’代表房屋。飘飘乎居士只能沿着‘.’行走(也就是不能踏入‘’),而且行走的方向只能为上下左右的相邻格子。为了不让MM等待太久,飘飘乎居士在整个过程中可能会使用一次飘飘神功(也可能不使用,但最多使用一次),使用飘飘神功后,飘飘乎居士可以走进房屋一次(也就是在全程的行走中最多可以走一个‘’,注意,只有一个);
现在飘飘乎居士想要知道最少需要走多少步,飘飘乎居士才能到达约会的地点。
Continue reading

描述 Description

某一天在网上闲逛的玖君不小心发现了TYVJ,就立刻被TYVJ吸引住了,果断驻扎下来。玖君决定按照顺序来切题,因为离复赛越来越近了,所以他希望能够用最短时间AC掉前面N道题目,完成第i道题目玖君需要花费t[i]个单位的代价。玖君做题有个特点,他喜欢看完几道题后,一次把几道题的代码写完。如果玖君决定一次写完从编号L到编号R的题目,那么他完成这些题目的总代价等于编号L到R题目的代价之和与R之积,即SUM{t[L..R]} R。此外每道题在被切之前都会等待被切,等待的时间,也被算在代价里面,对于每个第k次被切的题,在它被切之前的等待代价为(k-1)S。综上,切完N道题的总代价=第1次切题的代价+第2次切题的代价+…+第k次切题的代价+每道题的等待代价。现在我们想知道玖君切完这N道题目的最小代价。
Continue reading

这两道题都是从我开始接触tyvj的时候就看过的,可是一直没去写,今天终于。。。

P1064 - 新三国争霸

描述 Description
PP 特别喜欢玩即时战略类游戏,但他觉得那些游戏都有美中不足的地方。灾害总不降临道路,而只降临城市,而且道路不能被占领,没有保护粮草的真实性。于是他就研发了《新三国争霸》。
在这款游戏中,加入灾害对道路的影响(也就是一旦道路W[i,j]受到了灾害的影响,那么在一定时间内,这条路将不能通过)和道路的占领权(对于一条道路W[i,j],至少需要K[i,j]个士兵才能守住)。
PP可真是高手,不一会,就攻下了N-1座城市,加上原来的就有N座城市了,但他忽略了一点……那就是防守同样重要,不过现在还来的及。因为才打完仗所以很多城市都需要建设,PP估算了一下,大概需要T天。他现在无暇分身进攻了,只好在这T天内好好的搞建设了。所以他秒要派士兵占领一些道路,以确保任何两个城市之间都有路(不然敌人就要分而攻之了,是很危险的)。士兵可不是白干活的,每个士兵每天都要吃掉V的军粮。因为有灾害,所以方案可能有变化(每改变一次就需要K的军粮,初始方案也需要K的军粮)。
因为游戏是PP编的,所以他知道什么时候有灾害。PP可是一个很节约的人,他希望这T天在道路的防守上花最少的军粮。
N<=300,M<=5000 ,T<=50;
Continue reading

描述 Description

ForeverBell不仅精通破译密码,更是我军的重要代码编写者(至于什么代码,自己想吧).战争的日子是无聊的,有一天,ForeverBell找到了treeboy,出了一个极其简单的问题:给定一段序列,找出这段数列中第k小的数.
为了照顾treeboy的超弱语文水平,ForeverBell极其耐心地解释了这个问题:给定一个整数数列num[1…n],序列中的每个数字都不相同.你需要回答一组格式为Q(i,j,k)的查询,表示”在num[i…j]中第k小的数是多少”.
由于treeboy不仅语文差,而且代码能力巨弱,所以再次找到了你,请你编写一个程序,应对ForeverBell的询问.
输入格式 InputFormat

第一行两个整数n,m.分别是数列的总长度和ForeverBell询问的次数. 1≤n≤100 000,1≤m≤5 000
第二行有n个数,代表数列的元素,所有数都不相同,而且不会超过10^9 。
接下来有m行,每行三个整数i、j、k,代表一次查询,i、j、k满足:1≤i≤j≤n, 1≤k≤j-i+1。
输出格式 OutputFormat

一共m行.第i行表示第i次询问的答案.
样例输入 SampleInput [复制数据]

7 3
1 5 2 6 3 7 4
2 5 3
4 4 1
1 7 3
样例输出 SampleOutput [复制数据]

5
6
3

这道题算是模版题吧,看了一下说是什么划分树,不懂。。。然后就百度了一下,然后发现百度上的模版直接就能用了,然后就学习了一下,然后我打算把百度百科上的说明copy下来这里方便查阅。。。
Continue reading

sillyplus

Write the code. Change the world


Student


China