随笔分类 - acm竞赛--其他
摘要:题目描述 请编写一个方法,返回某集合的所有非空子集。 给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排序,子集之间字典逆序排序,见样例。 测试样例: [123,456,789] 返回:{[789,456,123],[7
阅读全文
摘要:凸包:用一个凸多边形将所有点围起来,这个凸多边形就是凸包 1.先要引入一个数学工具,向量叉积 |c|=|a×b|=|a| |b|sinα (α为a,b向量之间的夹角) 则 |c| 为向量a ,b所组成的平行四边形的面积 这里是用叉积判断两向量的相对位置关系(非常有用!) 则 a x b < 0 (a
阅读全文
摘要:MD ,一个我容易写的又难以发现一般要debug一个小时才找出的bug: 当数组方括号里的索引有多层时,将数组里的索引值搞混,例如: vote[ cmp[i] ] > vote[ i ] (三分候选人那道题 单调队列q存的是下标 :dp[ q[tail] ] > dp[ tail ] (今天的st算
阅读全文
摘要:题意:给定数组c[n],及多组a,b ,求每一组的后缀和 c[a]+c[a+b]+c[a+2*b]+c[a+3*b]....... 分析: 对于每一个b值 ,都可以在o(n)的复杂度内利用dp 求出该b下不同a值对应的后缀和sum[a]: for( int j=n ;j>=1 ;j--){ if(
阅读全文
摘要:数组前面的一个元素 大于等于 后面的一个元素就是一个逆序对; 树状数组可以快速求前缀和,利用这一特性,可以求逆序对个数,见下: 用数组c[ i ]记录数组a[ n ]中i这一元素出现的次数 ,当a[ n ]中元素较大时可以离散化处理。 将a[ n ]从a[n -1]到a[0] 依次存到树状数组中,每
阅读全文
摘要:思想和上一题一模一样,不过是二维树状数组+差分数组 注意二维区间修改的表示: add( x1 ,y1 ,1); add( x2+1 ,y2+1 ,1); add( x1 ,y2+1 ,-1); add( x2+1 ,y1 ,-1); #include <cstdio> #include <cstri
阅读全文
摘要:N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗? Input 每个测
阅读全文
摘要:树状数组是一种类似于线段树的数据结构; 它各节点之间的移动方式基于二进制的进位; 每个下标存储值是下标 最低位1后面所跟0的个数的二倍的 该点之前的数据之和; 如 : 10100 存了四个元素的和,是a[10100] a[10011] a[10010] a[10001] 移动到父节点(存元素和更多的
阅读全文
摘要:有标号为1到n的n个龙珠,分别放在对应标号为1到n的n个城市里。 下面有两种操作: T A B表示把A龙珠所在城市的所有龙珠都转移到B龙珠所在的城市中 Q A 表示查询A,需要知道A龙珠现在所在的城市,A所在的城市有几颗龙珠,A转移到这个城市移动了多少次,分别输出3个整数,表示上述信息。 前两个用普
阅读全文
摘要:题目见紫书p161 re,一直re,re到怀疑人生 刚开始出现re的时候怀疑是数组开的不够大 但一直都修改不行 结果是, , , ,输入函数bool函数没加返回值 return true; 所以re时 ,可能 ①除以零 ②数组越界:int a[3]; a[10000000]=10; ③指针越界:in
阅读全文
摘要:ACM紫书 第五章 P108 【排序与检索】 题意:找输入的数在排完序之后的位置。 想自己用vector写下,却报错 iterator cannot convert '__gnu_cxx::__normal<int*, std::vector<int> >' to 'int' in assignme
阅读全文
摘要:反片语 输入一些单词(以“#”为结束标志),找出所有满足如下条件的单词:该单词不能通过字母的重排,得到输入文本中的另一个单词。在判断是否满足条件是不分大小写,但是在输出时应保留输入时的大小写,按字典序进行排列(所有大写字母在所有小写字母前面)。 Sample input ladder came ta
阅读全文
摘要:input有Input is terminated by EOF.就是按ctrl+z结束输入 对应程序里面 while (cin >> s) 结束条件就是eof ,按ctrl+z
阅读全文
摘要:【问题描述】输入一个文本,找出所有不同的单词(连续的字母序列),按字典序从小到大输出。单词不区分大小写。 【样例输入】 Adventures in Disneyland Two blondes were going to Disneyland when they came to a fork in
阅读全文
摘要:题目大意: 输入n,得到编号为0~n-1的木块,分别摆放在顺序排列编号为0~n-1的位置。现对这些木块进行操作,操作分为四种。 1、move a onto b:把木块a、b上的木块放回各自的原位,再把a放到b上; 2、move a over b:把a上的木块放回各自的原位,再把a发到含b的堆上; 3
阅读全文
摘要:大神之所以是大神,是因为其在任何一次回答前都有着思考 #include<cstdio> #include<cctype> #include<cstring> using namespace std; const char* rev="A 3 HIL JM O 2TUVWXY51SE Z 8 "; /
阅读全文
摘要:把手放在键盘上,稍不注意就会往右错一位。这样,输入Q会变成输入W,输入J会变成输入K等。键盘如图3-2所示。输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出的句子。输入保证合法,即一定是错位之后的字符串。例如输入中不会出现大写字母A.样例输入;O S, GOMR YPFSU/样例输
阅读全文
摘要:Pasha has recently bought a new phone jPager and started adding his friends' phone numbers there. Each phone number consists of exactly n digits. Also
阅读全文
摘要:题意:有四种命令:U代表上移一个单位,D代表下移一个单位,R代表右移一个单位,L代表左移一个单位。 现在给出一串命令,问怎样修改命令中的任意一条命令,使得命令结束后重新返回原点,并且修改的步数最少。 思路:把问题抽象化,统计四中命令各自有多少,之后D与U相互抵消(numD-numU),R与L相互抵消
阅读全文
摘要:A few years ago Sajjad left his school and register to another one due to security reasons. Now he wishes to find Amir, one of his schoolmates and goo
阅读全文

浙公网安备 33010602011771号