思维趣题
文章平均质量分 69
INCINCIBLE
这个作者很懒,什么都没留下…
展开
-
分金币 uva11300
Description圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。Input第一行为整数n(n>=3),以下n行每行一个正整数,按逆时针顺序给出每个人拥有的金币数。Output输出被转手金币数量的最小值代码如下:#include#include原创 2016-01-29 10:32:46 · 421 阅读 · 0 评论 -
堆+贪心 逃亡
nkoj 1760DescriptionTECH成功越狱后,抢劫了一辆卡车驱车逃进了丛林。由于TECH驾车技术很差,卡车的油箱在岩石上被刮破了。现在卡车每行驶一公里就会消耗掉一升油。 为把卡车修好,TECH需要把车开到最近的一个小镇。从卡车当前位置到小镇的这条路(距离不超过1,000,000公里)上,分布着N个加油站 (1 警察正在丛林中追捕TECH,所以,TECH想让停下来加油的原创 2016-03-29 19:23:34 · 464 阅读 · 0 评论 -
单调队列——滑动窗口
nkoj 2152Description给你一个长度为N(N窗口位置 最小值 最大值[1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7原创 2016-03-12 14:24:55 · 1632 阅读 · 0 评论 -
UVA 11825 Hackers' Crackdown dp+位运算状态压缩(子集枚举)
题意: 有N台电脑(编号为0,1,2......n-1),每台电脑有N(NInputThere will be multiple test cases in the input file. A test case begins with an integer N (1 ≤ N ≤ 16),the number of nodes in the network. The原创 2016-04-30 18:57:00 · 569 阅读 · 0 评论 -
异或思维题--to xor or not to xor nkoj3734
P3734To xor or not to xor时间限制 : - MS 空间限制 : 65536 KB 评测说明 : 时限1000ms问题描述给定一个非负整数序列a1,a2,,,an (1输入格式第一行,一个整数n第二行,n个空格间隔的整数,表示ai输出格式一个整数,表示所求结果样例输入原创 2016-07-28 00:12:40 · 684 阅读 · 0 评论 -
扩栈语句
int main_main(){}const int main_stack=16;char my_stack[128<<20];int main() { __asm__("movl %%esp, (%%eax);\n"::"a"(my_stack):"memory"); __asm__("movl %%eax, %%esp;\n"::"a"(my_stack+sizeof(my_s原创 2016-07-21 09:54:51 · 453 阅读 · 0 评论 -
贪心--ACM-ICPC Live Archive3902 Networkt
题目翻译(有篡改题目背景)description绝境长城以北是一片凶险之地,但是有守夜人的游骑兵在外巡视保证长城以内的安全,就这样过了很久很久。直到了第六季,守夜人的总司令john snow被自己的兄弟杀死,虽然被stannis的火焰女祭司用魔法复活,但是他对守夜人兄弟非常失望,准备回老家winter hell。总司令走了,守夜人军心涣散,特别是在长城以北的游骑兵变得非常害怕。长城以外原创 2016-08-16 11:51:24 · 524 阅读 · 0 评论 -
UVa 1642 魔法GCD + 区间问题总结
题目和题解请见刘汝佳紫皮书340页。代码中用了STL中的map。也是现在才知道到map在系统中是以pair的形式存储的,first是键值,second是对应的映射值。map的遍历仍然是使用类的迭代器。代码如下:#include#include#include#include#include#include#define LL long longusing namesp原创 2016-08-10 21:50:55 · 867 阅读 · 0 评论 -
贪心--uva11039 building designing
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1980题目大意:给你n个数,要求取出尽可能多的数构成一个序列使得这个序列满足(1)正负交替(2)绝对值递增其中取数不需要按照输入的顺序。分析:首先按照绝对值大小原创 2016-09-04 23:30:59 · 439 阅读 · 0 评论 -
Intel Code Challenge Elimination Round C. Destroying Array
题目链接: Intel Code Challenge Elimination Round C. Destroying Array方法一(在线): 直接套用线段树动态维护区间最大连续和的模板,将一个数删去等价于改成无穷小。注意INF必须足够大(也不能太大,建议贴着开,否则会超过LONG LONG)时间复杂度O(nlogn),是一种可以通过的在线算法,代码量略大。代码:#i原创 2016-10-02 23:21:31 · 365 阅读 · 0 评论 -
CDQ 分治 NKOJ 3655 菊花的故事1
问题描述何老板很喜欢菊花,所以现在他买了n朵菊花.每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。定义一朵花A比另一朵花B要美丽,当且仅当Sa>=Sb,Ca>=Cb,Ma>=Mb。显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。输入格式第一行为N,K原创 2016-12-19 19:53:13 · 462 阅读 · 0 评论 -
[HNOI2016] 树
P4055[Hnoi2016 day1]树时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 2s问题描述小A想做一棵很大的树,但是他手上的材料有限,只好用点小技巧了。开始,小A只有一棵结点数为N的树,结点的编号为1,2,…,N,其中结点1为根;我们称这颗树为模板树。小A决定通过这棵原创 2017-04-20 23:32:26 · 532 阅读 · 0 评论 -
[ZJOI2015] 地震后的幻想乡
P3255【ZJOI2015 Day1】地震后的幻想乡时间限制 : 20000 MS 空间限制 : 262144 KB问题描述 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们。 这不,幻想乡突然发生了地震,所有的道路都崩塌原创 2017-04-25 10:27:44 · 864 阅读 · 0 评论 -
[ZJOI2015] 幻想乡战略游戏
P3254【ZJOI2015 Day1】幻想乡战略游戏时间限制 : 120000 MS 空间限制 : 512000 KB问题描述 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,原创 2017-04-25 11:13:55 · 678 阅读 · 0 评论 -
[ZJOI2015] 诸神眷顾的幻想乡
P3256【ZJOI2015 Day1】诸神眷顾的幻想乡时间限制 : 20000 MS 空间限制 : 524288 KB问题描述 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日。 粉丝们非常热情,自发组织表演了一原创 2017-04-26 00:09:07 · 634 阅读 · 0 评论 -
回文--nkoj3681
P3681 回文时间限制 : - MS 空间限制 : 65536 KB 评测说明 : 时限1000ms问题描述 给你一个由N个小写字母构成的字符串,请你将它改成“回文串”。你可以任意调整串中字符的位置,但不可以删掉其中的字符。问,最多能得到多少个不同的回文串? 结果可能很大,mod 1,000,000,007 后再输出!原创 2016-05-15 16:30:15 · 524 阅读 · 0 评论 -
[codeforce]位运算——最大异或
nkoj 2060Description一个小女孩非常喜欢关于二进制位的问题,下面是其中一个问题: 给你两个整数L和R,找出a xor b结果值最大的一对,(l ≤ a ≤ b ≤ r) xor表示异或,在c++里的运算符是"^" Input两个空格间隔的整数L和R (118)Output一个整数,表示最大的异或的结果Sample Input样例输入原创 2016-05-02 17:44:35 · 901 阅读 · 0 评论 -
动态规划——切蛋糕
nkoj 2305 改编自ZOJ3537Description有一个凸多边形蛋糕,你现在要用刀把它切成若干块三角形的小蛋糕。每一刀你只能沿着当前凸多边形的某条对角线切。我们可以把蛋糕看成是笛卡尔坐标系中的n个坐标点连接而成的图形,每次切割都会消耗一定的体力,切割第i和第j号点构成的对角线所消耗的体力为cost(i,j)=|xi+xj|*|yi+yj| mod t,t为题目给出的体力常数。原创 2016-02-14 14:13:41 · 1723 阅读 · 0 评论 -
中位数——士兵站队 nkoj 3551
Description 在一个划分成网格的操场上,n个士兵散乱地站在网格点上。网格点用整数坐标(x,y)表示。 士兵们可以沿网格边往上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。 如何选择x和y的值才能使士兵们以最少的总移动步数排成一行。编程计算使原创 2016-01-28 11:27:45 · 600 阅读 · 0 评论 -
noip 2010 关押罪犯
DescriptionS 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。 每年年末原创 2016-03-16 19:09:29 · 380 阅读 · 0 评论 -
NOIP 2009 最优贸易
nkoj 1692Description(trade.pas/c/cpp) 【问题描述】 C国有n个大城市和m条道路,每条道路连接这n个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。 C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市原创 2016-03-03 15:47:17 · 636 阅读 · 0 评论 -
背包--nkoj3609【USACO 2015 Dec Gold】Fruit Feast
【USACO 2015 Dec Gold】Fruit FeastDescriptionBessie has broken into Farmer John's house again! She has discovered a pile of lemons and a pile of oranges in the kitchen (effectively an unlimited numb原创 2016-03-29 19:30:47 · 685 阅读 · 0 评论 -
思维--nkoj3653七的倍数
七的倍数Description农夫约翰的N头奶牛排成一排,每头奶牛都有约翰制定的奶牛编号。约翰想要拍一张奶牛的照片,他希望该照片满足下列两个要求: 1.照片中奶牛的数量尽可能多; 2.照片中奶牛的编号之和为7的倍数; 请你帮组约翰计算,满足条件的照片中,奶牛的数量最多是多少Input第一行,一个整数N表示奶牛的数量 (1≤N≤50,000) 接下来N行,每行一个原创 2016-03-29 19:42:53 · 1214 阅读 · 0 评论 -
NOIP 2009 靶形数独
可以用跳舞链,但由于我不会,就只有秀一秀深搜技术了。数据结构:map[i][j]存的是填的数字;row[x][i]表示x行i个数是否出现过;file[x][i]表示x列i个数是否出现过;f[x][y]返回x,y属于哪一个九宫格区域;area[x][i] 表示第x个九宫格区域中i是否出现过。vis[x]记录深搜的顺序;score数组当然是得分表了。代码如下:#原创 2016-02-17 14:20:08 · 333 阅读 · 0 评论 -
离散化——USACO 岛屿
nkoj 1279Description每当下雨时,FJ的牧场都会进水。由于牧场地面高低不平,被水淹没的地方不是很统一,形成一些岛屿。 FJ的牧场可描述成一个一维的地形图,由N(1 (1 。假定这个地形图的两端有两条无限高的墙围着。 当雨一直下时,地形图上最低的区域先被水淹没,形成一些不相邻的岛屿。一旦水面高度到达一个区域的高度,则认为这个区域被淹没。 左图,原创 2016-02-06 21:01:16 · 687 阅读 · 0 评论 -
动规——邮局问题 nkoj 1181
一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同。两个村庄的距离定义为坐标之差的绝对值。我们需要在某些村庄建立邮局。使每个村庄使用与它距离最近的邮局,建立邮局的原则是:所有村庄到各自使用的邮局的距离总和最小。 数据规模:1Input2行 第一行:n m {表示有n个村庄,建立m个邮局} 第二行:a1 a2 a原创 2016-01-28 10:43:11 · 1678 阅读 · 0 评论 -
容斥原理+背包模型---nkoj3659硬币
硬币Description宇航员Bob有一天来到火星上,他有收集硬币的习惯。于是他将火星上所有面值的硬币都收集起来了,一共有n种,每种只有一个:面值分别为a1,a2… an。 Bob在机场看到了一个特别喜欢的礼物,想买来送给朋友Alice,这个礼物的价格是X元。Bob很想知道为了买这个礼物他的哪些硬币是必须被使用的,即Bob必须放弃收集好的哪些硬币种类。飞机场不提供找零,只接受恰好X元原创 2016-04-07 22:49:14 · 1259 阅读 · 0 评论 -
ica——布尔表达式
描述输入一个布尔表达式,请你输出它的真假值。 比如:( V | V ) & F & ( F | V ) V表示true,F表示false,&表示与,|表示或,!表示非。 上式的结果是F输入输入包含多行,每行一个布尔表达式,表达式中可以有空格,总长度不超过1000输出对每行输入,如果表达式为真,输出"V",否则出来"F"样例输入( V | V )原创 2016-04-14 14:14:28 · 2036 阅读 · 0 评论 -
位运算状态压缩——飞行员兄弟的冰箱
nkoj 2223Description有一个叫“飞行员兄弟的冰箱”的著名智力游戏,在游戏中玩家需要打开一个冰箱。 在冰箱的门上有16个门把手,每个门把手只有两种状态:打开和关闭。当所有门把手都处于打开状态时,冰箱才会被打开。 16个门把手构成了一个4x4的矩阵,当你改变坐标为(x,y)的门把手的状态时,跟它同处于x行和跟它同处于y列的门把手们的状态都同时会被改变(开的变为关,原创 2016-02-19 17:07:21 · 1240 阅读 · 0 评论 -
前缀和---三分数组nkoj3049
三分数列给出一个有n 个整数的数组a[1],a[2],...,a[n], 有多少种方法把数组分成3 个连续的子序列,使得各子序列的元素之和相等。 也就是说,有多少个下标对i,j (2≤i≤j≤n-1), 满足:sum(a[1]..a[i-1]) = sum(a[i]..a[j]) = sum(a[j+1]..a[n])详细题解参见代码#include#include原创 2016-05-12 19:09:11 · 810 阅读 · 0 评论 -
找数2--nkoj3679(百度面试题)
P3679 找数2时间限制 : 10000 MS 空间限制 : 0 KB问题描述给你N个整数,其中有两个数字出现的次数是奇数次,其余数字都出现了偶数次,现在告诉你这n个数异或起来的结果X,请你快速找出这两个出现次数为奇数的数字。 注意,此题空间复杂度要求为O(1),时间复杂度为O(n)输入格式第一行,两个整数N和X (1第二行,N个原创 2016-05-15 14:42:38 · 502 阅读 · 0 评论 -
5-6月题目汇总(5.30---6.4)
5.30晚NO.1 来源 : BZOJ 2342 [Shoi2011]双倍回文分类: 回文,Manachar简要题解:先用Manachar求出f(i)f(i),令p(i)p(i) 表示以i,i+1i,i+1 中间为对称轴能延伸的最长长度,也就是 s[i−p(i)]=s[i+1+p(i)]s[i-p(i)]=s[i+1+p(i)] ,显然p(i)=f(i∗2+1)−12p(i)= \frac{原创 2017-05-30 21:36:13 · 474 阅读 · 0 评论