↓ Skip to main content

Posts

2017

在wordpress 中输入数学公式

·302 words·1 min
查了一些资料。。发现不是要装各种插件(还不一定能用,比如和crayon冲突。。就是讲得很不清楚orz。。 又下一个win下的公式编辑器之类的软件是什么鬼啊? 干脆记录一下必要步骤。只有一步。

bzoj 1059: [ZJOI2007]矩阵游戏 (匈牙利算法)

·1166 words·3 mins
1059: [ZJOI2007]矩阵游戏 # Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5251 Solved: 2512 [Submit][Status][Discuss] Description # 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择矩阵的任意两行,交换这两行(即交换对应格子的颜色);列交换操作:选择矩阵的任意行列,交换这两列(即交换对应格子的颜色)。游戏的目标,即通过若干次操作,使得方阵的主对角线(左上角到右下角的连线)上的格子均为黑色。对于某些关卡,小Q百思不得其解,以致他开始怀疑这些关卡是不是根本就是无解的!!于是小Q决定写一个程序来判断这些关卡是否有解。

BZOJ 1191: [HNOI2006]超级英雄Hero (匈牙利)

·667 words·2 mins
1191: [HNOI2006]超级英雄Hero # Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5221 Solved: 2356 [Submit][Status][Discuss] Description # 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个“锦囊妙计”,比如求助现场观众,或者去掉若干个错误答案(选择题)等等。 这里,我们把规则稍微改变一下。假设主持人总共有m道题,选手有n种不同的“锦囊妙计”。主持人规定,每道题都可以从两种“锦囊妙计”中选择一种,而每种“锦囊妙计”只能用一次。我们又假设一道题使用了它允许的锦囊妙计后,就一定能正确回答,顺利进入下一题。现在我来到了节目现场,可是我实在是太笨了,以至于一道题也不会做,每道题只好借助使用“锦囊妙计”来通过。如果我事先就知道了每道题能够使用哪两种“锦囊妙计”,那么你能告诉我怎样选择才能通过最多的题数吗?

codeforces div 1 443 A. Short Program (位运算的理解)

·537 words·2 mins
题目链接: 题目链接 题意: # 一段程序,最多5E5个操作,每个操作的格式为 <opt,x> ,opt表示位或,位异或,位与 三种位运算的一种,x表示范围0..1023的数。现在要求将该程序化简至最多 5个操作,使得对于0..1023的输入,输出与该程序同样的结果。

BZOJ 1854: [Scoi2010]游戏 (并查集)

·917 words·2 mins
Description # lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害。也就是说一开始的时候,lxhgww只能使用某个属性值为1的装备攻击boss,然后只能使用某个属性值为2的装备攻击boss,然后只能使用某个属性值为3的装备攻击boss……以此类推。 现在lxhgww想知道他最多能连续攻击boss多少次?

vimrc for ACM-ICPC (赛场用)

·180 words·1 min
弄了点比较短的,赛场上用的配置文件orz 代码实现 1map <F5> :call Co()<CR> 2func! Co() 3 exec "w" 4 exec "!g++ % -std=gnu++11 -Wall -o %<" 5 exec "! ./%<" 6 7endfunc 8syntax on 9set nu 10 11autocmd BufNewFile *.cpp exec ":call SetTitle()" 12func SetTitle() 13 let l = 0 14 let l = l + 1 | call setline(l,'#include <bits/stdc++.h>') 15 let l = l + 1 | call setline(l,'using namespace std;') 16 let l = l + 1 | call setline(l,'const int inf = 0x3f3f3f3f;') 17 let l = l + 1 | call setline(l,'#define ms(a,x) memset(a,x,sizeof(a))') 18 let l = l + 1 | call setline(l,'typedef long long LL;') 19 let l = l + 1 | call setline(l,'int main()') 20 let l = l + 1 | call setline(l,'{') 21 let l = l + 1 | call setline(l,' return 0;') 22 let l = l + 1 | call setline(l,'}') 23endfunc 故地重游,rp++

广义Fibonacci数列找循环节 (二次剩余)

·2359 words·5 mins
问题: 给定初始项 \( F_0, F_1 \),满足递推关系 \( F_n = a F_{n-1} + b F_{n-2} \),求 \( F_n \pmod p \) 的循环节长度。 原理见广义Fibonacci数列找循环节 这里只说做法 我们先写出递推式的特征式子 x^2 =ax + b,整理得到 x^2-ax-b=0,求出 delta = a^2+4b

可持久化线段树学习笔记

·1032 words·3 mins
起因是16长春CCPC遇到了一个全场万人过的主席树题目,然而我不会orz,哭哭 可持久化线段树的本质是很多棵形态完全相同的线段树。 也可以理解成是,保存了不同时刻版本的线段树的数据结构。

poj 3301 Texas Trip (三分,模板题)

·799 words·2 mins
题目链接 题意: # 给定二维平面的n个点,要求一个面积最小的正方形,使其能覆盖所有的点。 思路: # 先考虑如果水平竖直地放置正方形(边和坐标轴平行)圈住所有点的最小正方形的边长是:

2016-2017 ACM-ICPC, NEERC, Northern Subregional Contest G Gangsters in Central City (LCA)

·1322 words·3 mins
题意: 有一棵树,水源在根节点1,房子在叶子节点。有若干操作,操作可能是歹徒占领或者离开一个房子。我们不想给歹徒供水,可以通过切断边实现(如果某个叶子节点到根节点的路径上有一条边被切掉,那么就不能供水了。)对于每次操作后,问不给所有歹徒供水最少要切多少条边,并且问在切满足前面最小的情况下,最少使得多少个良民受影响。初始没有歹徒。

uvalive 7675 | 2016 北京 regional onsite H - A New Ground Heating Device (二分+多个圆面积并)

·1261 words·3 mins
题目链接 题意: # 在一个二维平面上,有n个加热设备,每个加热设备加热一个圆形,加热设备需要信号源才可以工作,信号源在原点上,但是高度不确定。假设设备的加热半径是一个与{信号源与设备的距离}有关的表达式。现在想要满足,至少有k个加热设备加热的面积大于s,问信号源的最高高度是多少。