描述 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

可以理解为2663的加强版,多了些状态,代码基本参考了别人的,各种位运算。。。。因为N比较大,所以,矩阵乘法的优势就体现出来了,不过这个代码感觉速度还不是很快啊
Continue reading

简要题意:给定n,m,n (1 ≤ n < 10ˆ18) and m (1 ≤ m ≤ 100).求满足以下要求的数x有多少个。

  • x可通过重排n的各位数字获得
  • x没有前导0
  • x mod m == 0

一开始我被10ˆ18给吓到了,但是其实这里也是一个突破口来着,仔细想想,如果是2ˆ18的话那该多好。
如果你往这个方向开始去想了,就会发现很多东西了,然后就是个DP,然后再去一下重,当然,你也可以在DP的过程中去重。
不过,感觉我的DP水平实在是不济,这个是赛后搞出来的。。。
Continue reading

题目大意是一个3N的棋盘,用12的骨牌覆盖的方案数

使用一个三位的二进制数表示状态,则可以有:

n行:000 ……………………………………. 000

n-1行:000 001 010 011………………… 111

为避免状态重复,我们不允许在n-1行上平放骨牌(因为等会由n-1行转移的第n行时,我们可以在n行上平放),所以我们可以构造一个矩阵来表示这些转移(具体自己画一画就知道了),即可以得到以下矩阵A:

0000000100000010000001000000100100010000001000000100000110010010然后求A的n次幂,A^n[7][7]就是我们要的答案啦~
Continue reading

题目大意:Dima送给他女友N只兔子,编号1-n(n<=3000),当给兔子喂食时,它们会产生joy值,joy的取值有三种状态:
1.当前兔子左右两边都没有已经喂过的兔子;
2.当前兔子左右两边有且仅有一边有已经喂过的兔子;
3.当前兔子左右两边的兔子均已喂过。(编号1,n的兔子显然无法满足)
现给出每只兔子三种状态下的joy值,希望你帮助Dima的女友有Inna选择某种喂食顺序,使得总的joy值最大,仅输出最大的joy值。
Continue reading

  • page 1 of 1

sillyplus

Write the code. Change the world


Student


China