jzoj(senior)2019.1.30比赛总结

该总结将同步发表到:

jzoj論壇
洛谷博客
csdn博客
······

比赛体验极差!我第一次交的代码一交就开始跑了(好评),第二次交(三分钟后(另一道题))的代码等了N分钟还没开始评测(差评),原因是我这两次交代码之间有个人非常**(可能这位同学想要报复社会,有一定几率是C党的(C++有个头文件“#include<con>”,可以卡爆评测机,一直在编译,不会停止(评测机也退不出去,除非是工作人员关闭评测系统再重启),在正式比赛中用,那就会被禁赛3年,学校禁赛1年)),然后这位仁兄就去卡评测机了,导致熊老师重启了评测机,这位同学似乎是我们教室的,中途被老师叫出去了,过了一会评测机又好了。后来的OJ...又卡了,OJ被卡4天祭!

好了,切入正题:

赛时:

今日翻譯主題:繁體字、卡OJ的Oier

T1:有n個卡OJ的Oier,他們每個人有一個能力值(卡OJ的能力)a[i],他們之間有n個關係,每個關係表示第u個卡OJ的Oier和第v個卡OJ的Oier是朋友,現在,老師要從中選出一些卡OJ的Oier(讓他們退役),使得剩下的卡OJ的Oier的能力盡可能小(規則:如果你讓一個卡OJ的Oier退役了,其他和他是朋友關係的的卡OJ的Oier就不能退役(將那位卡OJ的Oier退役后,其他的卡OJ的Oier就會認為卡OJ很危險,就不敢卡OJ了,然而老師還是希望這些卡OJ的Oier能拿卡OJ的Oier而退役的應以為戒,不會再犯,就不允許他們退役了))

我似乎想到了一個方法:設每個人都不退役,從能力值大的開始讓他們退役,剩下的能力值應該就會小了,然而我不會寫。

T2:一位卡OJ的Oier想用m支不同顏色的可擦的彩色鉛筆把一個每條邊的長度都不同的一個n變形染個色,但又不想讓兩條邊的顏色相同(這樣就不好看了),他想知道有多少種染色方案,但這位卡OJ的Oier很懶,他將問題交給你解決。

這種染色問題我記得是有公式的,但我忘記是什麼了,很悲催,只能打個20分的dfs(時超)了

T3:有一位卡OJ的Oier,他喜歡玩跳格子(好天真),他的跳遠技術很好,一次能條任意遠(可以從這個點跳著環遊地球若干圈再回到遠點),現在他在一個數軸上跳格子,每個格子有個值a[i],從i調到j可以獲得a[j]*(j-i)的值(必須j>i才能跳),求從第0格跳到第n格的最大值

我寫了個dp,60分

總分:0+20+60=80

赛后:

T1:什么鬼,写个dfs再优化一下(将O(n^2)压一下,具体优化有:自环的必选,不选这个点那与它连着的其他的点就必选······)就好了?好吧,没想到。

T2:周逸非(实名,嘴有点*,其他都还好)dalao赛后告诉我,这类题(染色问题)的公式是 (m-1)^n^+ (-1)^n^(m-1),原来如此。

T3:从i跳到j,那分数就是 ,相当于i到j的距离乘上a[i](换句话说:将i+1到j的所有数赋值成a[j],分数就为 i+1到j这一段的a数组的总和),不妨我们反着推,若最后一个点为最大值,那我们的答案就是从1跳到n,若中间有一个比终点更大的,那就先跳到这个点再跳到j(若定义跳一步,起点为i,终点为j,若中间有一个点x, 那a[x](x-i)+a[j](j-x)>a[j]*(j-i) )所以,我们可以先假定最后一个点的值为“最大值”,然后从后往前扫,如果小于等于“最大值”的点就把它更新为最大值,如果大于它就把“最大值”更新为这个点的值,继续往前扫,最后答案为1到n的a数组的总和。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值