08 2013 档案

摘要:水水的一道题,只需要找xy的最小公倍数,然后找a b区间有多少个可以被xy的最小公倍数整除的数,就是答案。//============================================================================// Name : 2013083101.cpp// Author : xindoo// Version :// Copyright : Your copyright notice// Description : codeforces 340A//===========================... 阅读全文
posted @ 2013-08-31 15:26 xindoo 阅读(167) 评论(0) 推荐(0)
摘要:这是楼教主出的二维线段树或者是二维树状数组的题,题意很简单,就是有个n*n的矩阵,初始值都是0,然后给你左上角和右下角的坐标,把这个长方形的区间所有元素反转一下,然后问某个具体坐标的值。 这里我用了二维的线树状数组,一维树状数组可以解决区间更新和点查询的问题,这里只需要加一维就可以了,代码比较好写,不过开始犯了很多低级的错误。//============================================================================// Name : 2012083101.cpp// Author : xind... 阅读全文
posted @ 2013-08-31 15:22 xindoo 阅读(206) 评论(0) 推荐(0)
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文
posted @ 2013-08-27 15:07 xindoo 阅读(149) 评论(0) 推荐(0)
摘要:这个题目属于线段树的点更新区间查询,而且查的是整个区间,其实不用写query()函数,只需要输出根节点保存的值就可以了。题意: 输入n,m表示有2^n个数和m个更新,每次更新只把p位置的值改成b,然后输出整个序列运算后的值,而这个运算就比较复杂了, 最下面一层两个数字之间或运算得到原来数目一半的数字,然后两个之间异或运算,得到一半,再或再异或………………,一直到得到一个数字,这个数字就是要求的结果。思路: 如果只是一种运算,这就是简单的线段树点更新,区间查询。而现在,我们要确定什么时候用or 什么时候用xor, 想想看,最下面一层是用or, 总共有n层,因为or和xor是交替进行的,我... 阅读全文
posted @ 2013-08-27 11:19 xindoo 阅读(286) 评论(0) 推荐(0)
摘要:A.题意就是把字符串里面的数字按增序排列,直接上代码。#include #include #include using namespace std;int main(){ char s[1005]; int num[105]; while (scanf("%s" , s) != EOF) { int l = strlen(s); int t = 0; int cnt = 0; for (int i = 0; i #include #include #include #include #include using n... 阅读全文
posted @ 2013-08-27 11:08 xindoo 阅读(290) 评论(0) 推荐(0)
摘要:今天在Ubuntu11.10中安装Google chrome浏览器是遇到了问题,下载好的“.deb”格式的安装文件google-chrome-stable.deb双击后或者右键快捷菜单选择Synaptic Package Manager 打开时均提示错误,改用命令的方式安装:dpkg -i google-chrome-stable.deb提示缺少一个依赖的软件包,按照提示安装完成后 Google Chrome浏览器顺利的安装完成。鉴于我们搞开发的人士或者一些linux爱好者需要时常在linux系统中安装一些软件,在此,对相关问题做一总结,以利己利人。首先介绍两个简单的方式第一:sudo apt 阅读全文
posted @ 2013-08-26 16:47 xindoo 阅读(439) 评论(0) 推荐(0)
摘要:列表列表是 Python 的主力数据类型。当提到 “ 列表 ” 时,您脑海中可能会闪现“ 必须进一步声明大小的数组,只能包含同一类对象“ 等想法。千万别这么想。列表比那要酷得多。 ☞ Python 中的列表类似 Perl 5 中的数组。在 Perl 5 中,存储数组的变量总是以字符 @ 开头;在 Python 中,变量可随意命名,Python 仅在内部对数据类型进行跟踪。☞ Python 中的列表更像 Java 中的数组(尽管可以把列表当做生命中所需要的一切来使用)。一个更好的比喻可能是 ArrayList 类,该类可以容纳任何对象,并可在添加新元素时进行动态拓展。创建列表列表创建非常轻松:. 阅读全文
posted @ 2013-08-25 08:52 xindoo 阅读(819) 评论(0) 推荐(0)
摘要:题意就是有N头牛,每头牛都有一个坐标和声调值(x, v),两头牛之间通讯要花费的能量是他们的距离乘以最大的一个音调值,现在要任意两头牛之间都相互通讯一次,求总共需要花费多少能量? 显然总共有n*(n+1)/2条,我们可以用树状数组保存,树状数组很适合求区间的和,我们只需要求出某头牛左右两边分别有多少头牛比它的音调小,且他们的坐标和,这样我们就能求出这头牛到其他牛之间的距离和了,因为它的音调值已知且在这先中最大,然后这要求出一头牛与其他比他小的通讯花费的能量了,然后以此求出其他的。这样计算出了它小的,遍历一遍后必然每头牛之间都有里通讯。#include#include#define lowb.. 阅读全文
posted @ 2013-08-24 16:32 xindoo 阅读(464) 评论(0) 推荐(0)
摘要:说到ubuntu,可能很多人会有些陌生,但对于有些人很熟悉。ubuntu是linux里面最为流行的一版,以下来自百度百科。 Ubuntu(乌班图)是基于Debian GNU/Linux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的开源GNU/Linux操作系统。为桌面虚拟化提供支持平台[1]。Ubuntu对GNU/Linux的普及特别是桌面普及作出了巨大贡献,由此使更多人共享开源的成果与精彩。 Ubuntu是一个南非的民族观念,该词来自于祖鲁语和科萨语,意为人们之间的忠诚和联系。被视为非洲人的传统理念,也是建立新南... 阅读全文
posted @ 2013-08-23 22:13 xindoo 阅读(261) 评论(0) 推荐(0)
摘要:布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。基本概念如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越来越大,检索速度也越来越慢(O(n),O(logn))。不过世界上还有一种叫作散列表(又叫哈希表,Hash table)的数据结构。它可以通过一个Hash函数将一个元素映射 阅读全文
posted @ 2013-08-23 10:06 xindoo 阅读(166) 评论(0) 推荐(0)
摘要:学过简单动态规划的人应该对最长公共子序列的问题很熟悉了,这道题只不过多加了一条字符串变成三条了,还记得,只要把状态变成三维的即可。//http://lightoj.com/volume_showproblem.php?problem=1159//2013-08-15-09.50#include #include #include #include using namespace std;char str1[55];char str2[55];char str3[55];int dp[55][55][55];int maxval(int a, int b, int c){ a = max(... 阅读全文
posted @ 2013-08-15 15:20 xindoo 阅读(171) 评论(0) 推荐(0)
摘要:之前在做背包的题目时看到了这道题,一看,大喜,这不是裸裸的01背包吗!! 然后华丽丽的超时,相信很多人也和我一样没有考虑到数据量的大小。 时隔多日,回过头来看这道题,依旧毫无头绪。。。。不过相比之前,我看到了更多细节。 来看题目吧,可能有100000个单词,然后只有1000ms,但看包的大小,有10000,这样只能允许nlog(n)的算法,还有,每个单词的价值和花费都很小(不大于十),如果不考虑单词的不同,只考虑价值和花费只有最多100种东西,但如果把这些按多重背包的方法来计算依旧会超时,很容易想到和之前01背包的时间复杂度是一样的。 还记得多重背包可以转换为01背包吗??我... 阅读全文
posted @ 2013-08-12 19:31 xindoo 阅读(245) 评论(0) 推荐(0)
摘要:在这里先说一道微软的面试题目———《队列中的最大值》 让你设计一个队列,是其求里面最大值的时间复杂度尽可能的低,但这个队列除了最大值外,就是一个普通的队列,该怎么进出还是怎么进出,并不是优先队列。 对于一堆树,我们求其中最大值一般都会直接遍历一次,然后找到最大值,这样的话时间复杂度是O(n),如果在这道题里面用这种方法总的时间复杂度会到O(n^2),考虑到n的大小,这种方法显然是行不通的。有没有更为快速,可能有人想到使用堆,这也是优先队列使用的方法,如果实现的好的话,可以把时间复杂度从O(n)降到O(logn),不过,我这里说的不是这种方法,我要来说一下时间复杂度为O(1)的一种... 阅读全文
posted @ 2013-08-04 19:02 xindoo 阅读(184) 评论(0) 推荐(0)