假如我想 出 售 这个 Y Y号0。0会有人要么。。价 格 能 出到 多 少 呢!

iOS 问题:我想在uiview中多行多列地显示图片,每一行有三张图片,因为图片是从网上下载下来的,所以图片的数量是不确定的。
请问这个算法要怎么写,只要是位置不同的图片的坐标怎么却低昂,算法应该怎么写?我是通过坐标定位的。
- (void)switchToImageView:(NSArray*)images{
NNGImageViewController *imageViewController = [[NMGViewController alloc] initWithNibName:@"NNGImageViewController" bundle:nil];
self._imageViewController = imageViewC
UIScrollView *scrollView
=[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 400)];
scrollView.scrollEnabled = NO;
scrollView.pagingEnabled = YES;
[imageViewController.view addSubview:scrollView];
//遍历image数组,把数组里面的image设置到imageView里面
NSLog(@"一共有%i张图片",[images count]);
int groupNum = [images count]/3;
int lastRowNum = [images count]%3;
if(lastRowNum!=0){groupNum++;}
NSLog(@"一共有%i行图片",groupNum);
NSLog(@"最后一行有%i张图片",lastRowNum);
for(i = 0;i -
我想在uiview中多行多列地显示图片,每一行有三张图片,因为图片是从网上下载下来的,所以图片的数量是不确定的。
请问这个算法要怎么写,只要是位置不同的图片的坐标怎么却低昂,算法应该怎么写?我是通过坐标定位的。
- (void)switchToImageView:(NSArray*)images{
NNGImageViewController *imageViewController = [[NMGViewController alloc] initWithNibName:@"NNGImageViewController" bundle:nil];
self._imageViewController = imageViewC
UIScrollView *scrollView
=[[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0,self.view.frame.size.width, 400)];
scrollView.scrollEnabled = NO;
scrollView.pagingEnabled = YES;
[imageViewController.view addSubview:scrollView];
//遍历image数组,把数组里面的image设置到imageView里面
NSLog(@"一共有%i张图片",[images count]);
int groupNum = [images count]/3;
int lastRowNum = [images count]%3;
if(lastRowNum!=0){groupNum++;}
NSLog(@"一共有%i行图片",groupNum);
NSLog(@"最后一行有%i张图片",lastRowNum);
for(i = 0;i
共有 1 个回答
用别人写好的waterflowview做吧,这样很方便,点击事件可以自己修改,或者MMGridView
登录后方可回复
登录后方可回答
耗时 0.0699 秒小站会根据您的关注,为您发现更多,
看到喜欢的小站就马上关注吧!
下一站,你会遇见谁的梦想?
Linux 终端中常用的快捷键
1. 移动光标快捷键
ctrl+f向前移动一个字符
ctrl+b向后移动一个字符
alt+f向前移动一个单词
alt+b向后移动一个单词
ctrl+a移动到当前行首
ctrl+e移动到当前行尾
ctrl+l清屏,并在屏幕最上面开始一个新行
2. 编辑命令行快捷键
ctrl+d删除当前的字符
ctrl+t交换当前字符和前一个字符的位置
alt+t交换当前单词和前一个单词的位置
alt+u把当前单词变成大写
alt+l把当前单词变成小写
alt+c把当前单词变成首字母大写的单词
ctrl+v添加一个特殊字符,例如,要添加一个制表符,按ctrl+v+tab
3. 剪切、粘贴快捷键
ctrl+k剪切文本直到行的末尾
ctrl+u剪切文本直到行的起始
ctrl+w剪切光标前的单词
alt+d剪切光标后的单词
ctrl+y粘贴最近剪切的文本
alt+y回退到先前剪切的文本并粘贴它
ctrl+c删除整行
新手快速查看Linux服务器参数
# dmidecode | grep Product(查看服务器型号)&
# cat /proc/cpuinfo | grep name | cut -f2 -d:(查看cpu核心数目和型号)&
# cat /proc/cpuinfo | grep physical &(cpu 参数)&
# cat /proc/cpuinfo|grep "cores"|uniq (查看CPU的核数)
# cat /proc/cpuinfo|grep "MHz"|uniq (查看CPU的主频)
# getconf LONG_BIT (CPU运行在多少位模式下)
# cat /proc/cpuinfo|grep flags|grep ' lm '|wc -l (查看CPU是否支持64位运算lm指long mode, lm的个数不为0,就说明支持64位运算)
# cat /proc/cpuinfo|grep "processor"|wc -l (查看有多少个逻辑CPU如果cpu开启了超线程,则逻辑CPU个数=物理CPU个数*cpu核数*2)
# cat /proc/cpuinfo|grep "core id"|sort -nk 4 (CPU是否超线程)
# dmidecode|grep -A16 "Memory Device$"|grep "Memory Device"|wc -l (查看内存插槽个数)
# dmidecode|grep -A16 "Memory Device$"|grep "Size" (查看内存插槽中起作用的内存个数)
# dmidecode -t 11 (查看OEM信息)
# dmidecode -s system-serial-number (查看系统序列号)&
# dmidecode|grep 'Serial Number' (查看主板序列号)&
# free -m(以M为单位查看内存情况)&
# uname -a (系统信息,内核发行版等等)&
# hostname(主机名)&
# domainname(绑定的域名 默认应该是 none)&
# uptime(系统使用时间)&
# cat /etc/hosts | grep -v '#'(hosts文件查看)&
# ifconfig (网卡信息)&
# cat /etc/resolv.conf(DNS 信息)&
# env | egrep 'LANG|LC'(系统语言配置)&
# fdisk -l | grep Disk(硬盘信息)&
# df -ha(挂载分区的使用情况)&
# cat /proc/sys/fs/file-max(最大文件连接数,受内存影响)
U盘无法格式化与U盘修复的几种方法(转载)
还在受Win 8 输入法折腾?新版搜狗帮你解决问题。
此版为win8 预览版,属于测试版的软件
新增功能:
Desktop、Metro互通共享
&&两界面一套输入法,共用皮肤、词库等数据。
手指轻触翻页,选词更加容易
&&支持触屏操作,轻松选词上屏
输入集成搜索,边输边搜更快捷
&&支持Win8特有的IME集成搜索功能
Metro风格皮肤,Win8体验更一致
&&提供更多Metro风格皮肤
贴心状态提示,输入更加放心
&&Metro下的状态提示,右键显示更多状态
1. 支持自定义安装路径,可以将输入法安装到非系统盘;2. 修改中英文标点错乱问题;3. 解决切换焦点后变成英文状态问题;4. 桌面右下角输入法图标旁边加入中英文状态提示;&5. Metro(Morden UI)界面支持ctrl+,(或其它)快捷键切出输入法;6. Metro(Morden UI)界面支持shift+空格切换全半角,ctrl+.切换中英文标点;7. Metro(Morden UI)界面下可学词;&8. Metro(Morden UI)界面下可显示皮肤,并支持拖拽换肤、i换肤;9. Metro(Morden UI)界面下可调出软键盘;10. Metro(Morden UI)界面下可显示六选提示、u模式v模式提示等数据;11. Metro(Morden UI)界面下隐藏状态栏;12. 解决在&些Win8应用中打不出汉字问题。
下载地址:安装的时候提示输入邀请码,点击即可打开官网获得。http://download.//sogou_pinyin_6.5.8.9269.exe?st=d_Z2JEc3aKZZpHqfv41L-A&e=&fn=sogou_pinyin_6.5.8.9269.exe
Windows Blue 就这么来了,微软下一代 Windows 截图曝光
微软正在开发代号为&Windows Blue&的下一代Windows。Windows Blue的一个早期版本上周末网上曝光,而当天正是微软CEO史蒂夫&鲍尔默(Steve Ballmer)的生日。
& Windows Blue提供了更丰富的色彩个性化选项
曝光的Windows Blue的版本号为9364,3月15日编译完成,已被发布在文件共享网站上。在Windows Blue中,微软发布了Windows 8的多个重要更新。来自Windows 8网络论坛Winforum的截图显示,Windows Blue中的&动态磁贴&尺寸较小,同时提供了更多的色彩个性化选项。
新的Snap Views功能,帮助用户在Windows桌面上平铺多款应用
微软在Windows Blue中提供了新的Snap Views功能,帮助用户在Windows桌面上平铺多款应用,最多可同时平铺4款,而目前的Windows 8只能平铺两款。新的闹钟、录音机、电影截图和计算器等Windows 8风格应用都支持这样的视图,而开发者也可以升级应用,支持新的Snap Views并适应其他API(应用程序接口)调整。这一新功能还支持多显示器,用户可以在多块显示屏上运行一款Windows 8风格应用。
微软云计算应用SkyDrive被更紧密地集成至Windows Blue
其他改进还包括Windows 8风格设置页面上的多个新选项。Windows平板电脑用户不需要前往控制面板,即可完成所有必要的设置。微软云计算应用SkyDrive被更紧密地集成 至Windows Blue,能自动上传摄像头照片,并控制备份。微软还提供了一个应用设置页面,帮助用户修改默认应用,了解应用大小。
除设置和用户界面的更新之外,微软还对快捷菜单Charm进行了调整。Device Charm中加入了新的&播放&选项,这似乎类似于Windows 8中的&播放至&选项。在Share Charm中,新的截屏选项帮助用户快速分享应用截图。
& Windows Blue集成了IE11
Windows Blue中还集成了IE11浏览器,但目前还无法从截图中了解IE11有什么新功能。在一些截图中出现了标签同步功能,这意味着微软考虑在多个Windows Blue设备之间支持标签同步。
Windows Blue还引入了新的触控手势。在开始页上,从下往上扫动将可以弹出所有应用列表。在桌面模式中,用户可以上下扫动,以弹出桌面应用栏。这一应用栏提供了投影仪设置等功能。
Windows Blue预计将在未来几个月内放出开放预览版,而微软将于今年晚些时候发布这一系统的完整版。
磁力链接下载:
&magnet:?xt=urn:btih:98C4AB9D575E2260CFBC53DBA22D72&dn=9364.0.FBL_PARTNER_OUT13.5_X86FRE_CLIENT_EN-US-IMP_CCSA_DV5.ISO&tr=udp%3a%2f%%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce&tr=udp%3a%2f%%3a80%2fannounce
程序员的爱情表白
安卓4.1、 iOS 6 、Windows Phone 8 大比拼
安卓4.1、 iOS 6 、Windows Phone 8 大比拼
& 16:42:44
移动操作系统的三巨头&&苹果、谷歌和微软都已发布自家系统的下一代重要更新:iOS 6、安卓4.1 Jelly Bean(果冻豆)和Windows Phone 8,根据目前放出的信息,我们可以对它们进行一次比较全面的横向比较。&
到目前为止,移动操作系统的三巨头&&苹果、谷歌和微软都已发布自家系统的下一代重要更新:iOS 6、安卓4.1 Jelly Bean(果冻豆)和Windows Phone 8,iOS 6与果冻豆都已经放出测试版下载,正式版也将在第三季度放出,而搭载Windows Phone 8的手机也将在今年秋季正式出货。这三个操作系统都有哪些亮点,就让我们来对它们进行一次全方位的比较吧。
iOS:&在iOS 6中,用户可以选择在拒接电话的时候发送短信回应,设置黑名单以及进入&免打扰模式&,虽然这些功能早就可以通过第三方软件来实现,但是原生整合的功能总是更方便一些。
安卓:&同样也拥有短信回执和黑名单功能,但是并没有&免打扰模式&。
Windows Phone:&通话功能算得上Windows Phone的一个弱项,WP8中将不会拥有短信回执和黑名单功能,更别提免打扰模式了。看来用户只能通过第三方软件实现了。
iOS:&iMessage很好用,但是它的安全性和可靠性仍旧堪忧,跨设备的同步也尚未实现。目前用户还无法将iMessage与iCloud链接,保证iMessage的账号唯一性。而且iMessage也只能在苹果设备之间使用,按照苹果的脾性,跨平台集成的可能性近乎为零。
安卓:&自从Web OS挂掉之后,安卓就拥有了最好的掌上原生即时通讯平台,Google Talk有着优秀的云端同步功能,相比iMessage要好得多,而且Google Voice语音和视频聊天功能也将更好地集成到安卓系统中,用户在使用Google Talk时会更为方便。
Windows Phone:&微软在信息功能方面花了大工夫,可以让用户使用WP手机无缝传送短信息、MSN信息、Skype信息和各类社交网络信息。当然,微软没有在其中集成Google Talk,这也是可以理解的&&
iOS:&目前App Store已有65万个应用,iPad应用有22万5千个,应用数量仍旧高居各类平台之首。
安卓:&安卓系统目前拥有约60万个应用,虽然其中的大部分都能在安卓平板电脑上运行,但是专门为平板优化过的应用数量并不多,谷歌也并未给出一个官方数据。
Windows Phone:&微软称Windows Phone的应用数量已经超过了十万个,是所有平台中达到10万应用最快的,虽然目前仍然无法与另外两家相比,但是Windows Phone 8将会使用与Windows 8相同的RT环境,届时应用的相互移植将会变得非常方便,相信未来的Windows Phone将不会缺乏应用。
iOS:&苹果将在iOS 6中完全移除使用了五年的谷歌地图,改用自家地图服务作为原生地图支持,为用户提供交通状况、路线导航和各类信息。苹果的地图还整合了3D地图模式,让地图变得更加好看,也给予了部分路痴用户更好的导航信息。但是没有原生公共交通导航是苹果地图的一大硬伤,看起来苹果暂时只能依靠第三方软件来解决这一问题。而在中国,由于苹果没有地图服务资质,他们将会采用高德地图作为地图数据支持,这却是中国用户的福音,相信高德地图可以给我们带来更为本地化的体验。
安卓:&果冻豆中的谷歌地图将会应用几周前谷歌发布的一些新特性:3D化建筑、真正的离线地图和全面的搜索整合。另外,谷歌利用重力感应在地图中加强了&罗盘模式&,你可以真正360度无死角立体看地图了。
Windows Phone:&Windows Phone 8中微软将会采用诺基亚地图作为地图服务,经营地图服务多年的诺基亚地图将会带来精准的地图数据、优秀的导航服务、3D建筑、离线地图和公共交通指南,这很好,但是一向严谨规矩的诺基亚地图也没法给用户提供一些有新意的功能。
浏览器同步
iOS:&iCloud选项卡将首次出现在iOS 6的safari浏览器中,启用之后,用户在iOS 6设备上的浏览内容和书签会与OS X设备即时同步,但是新的safari还不是一个完全的云浏览器,用户无法在不同设备上直接看到相同的标签页,而需要点开一个子菜单或图表才能打开页面。
安卓:&安卓上的Chrome Beta版也提供了&标签页同步&,你可以在PC端的Chrome上随时与手机端同步浏览内容,但是否加入书签和搜索内容同步仍然在考虑之中。Chrome的用户群已经越来越庞大,相信会有许多人爱上这个新功能。
Windows Phone:&到目前为止我们还没有听到任何消息说Windows Phone将会支持浏览器同步,但考虑到WP8与Windows 8都会使用相同的内核并且用IE10作为原生浏览器,微软仍有可能在接下来的几个月中实现这个功能,各位Windows粉丝们赶快祈祷吧。
iOS:&由于功能有限,iOS 5上的Siri更多的被当做了一个调戏的对象而不是实用工具。不过在iOS 6中Siri将会变成一个更智能的语音助手,为用户提供各类贴近生活的功能,比如播报体育赛事信息、电影放映表以及餐厅预订等等。另外,Siri也将拥有控制车载音视频系统和导航系统的功能。iOS 6中的Siri还将首次支持中文控制,不过就目前看来中文版Siri也只是一个调戏对象而已&&
安卓:&在果冻豆中,安卓的语音控制系统将会进行一次重大的更新,将会大幅提高语音识别的准确度,并首次支持离线语音输入和谷歌知识图谱,而且,安卓手机也将拥有一副诡异的机械嗓子,把你的搜索结果&温柔&地讲给你听。
Windows Phone:&同样也会拥有语音控制功能,允许用户用语音拨打电话、发送短信、进行搜索和启动程序等,不过它的功能也许不会有iOS和安卓中的那么丰富和深入。
苹果的Passbook
iOS:&目前的iPhone在移动支付方便仍然没有什么建树,不过在iOS 6中苹果推出了一项重要应用:Passbook。这项应用将会收集并存储你的各种票据、会员卡、借记卡和信用卡信息,并且进行实时更新,你可以通过Passbook知道自己的账单到期日、航班时间。很显然,Passbook就是为NFC而生的,我们只需等待苹果正式在下一代iPhone中加入NFC模块即可。
安卓:&用户已经可以用&谷歌钱包&(Google Wallet)已经进行移动支付,但目前谷歌钱包只支持万事达卡(MasterCard)和使用Sprint网络的手机,也缺乏除了支付之外的其他功能,不过已有传闻谷歌将会马上对其进行升级,加入更多基于NFC技术的功能。
Windows Phone:&微软在WP8的发布会上也同时发布了&钱包中心&(Wallet Hub)应用,并且骄傲地说:&谷歌有NFC支付功能,苹果有Passbook,而我们两个都有。&更重要的是,&钱包中心&将会使用SIM卡中存储的NFC安全信息进行加密,使用更为灵活和安全,也更受运营商和发卡公司的亲睐。相比谷歌和苹果都使用自家内建的安全信息进行加密,微软的做法也许更容易获得成功。
深度整合到WP8中的Skype
iOS:&Facetime的易用性已经不用多说,iOS 6中的Facetime也将首次支持3G网络,意味着用户可以真正随时随地进行视频通话了。不过Facetime的不足也显而易见:它只支持苹果生产的设备。
安卓:&基于Gmail和Gtalk的视频聊天系统更具有普遍性,只要你有Gmail账户,就可以与任何一台PC机、Mac机或是安卓手机进行视频通话,同样也支持3G和WiFi网络。
Windows Phone:&微软的手上一直藏着一个秘密武器:Skype,这款全球应用最为广泛的视频通话软件将在WP8中进行深度整合,虽然Skype仍旧不会作为原生软件出现在WP8中,但是微软已经对其使用体验已经做出了保证,相信全平台覆盖的Skype会给Windows Phone用户带来最大的便捷。
果冻豆中改进的图标排列机制
iOS:&五年过去了,iOS上的图标仍旧是原来的样子,无法改变大小、无法自由摆放,没法直观地显示动态信息,只有一个显示数字的气泡在图标右上角孤零零地呆着,其提醒功能也基本上被顶部通知栏所取代。在智能手机主界面功能越来越丰富、各种桌面插件越来越多的今天,苹果有必要做出一些改变了。
安卓:&安卓系统的应用列表也一直没什么改变,但是幸好,安卓的主界面上可以安放各种各样的插件,用户可以按照自己的喜好随意摆放,只要应用得当,用户几乎在主界面上完成所有的信息获得和反馈。在果冻豆中,谷歌在主界面上加入了图标自动排列功能,可以更好地利用桌面空间。
Windows Phone:&公平地说,WP8中的&动态瓷砖&是现在所有智能手机系统中最优秀的智能图标系统,这些瓷砖不仅可以显示通知和其他重要信息(比如邮件、短信和天气信息),而且排列非常简洁方便,用户可以根据自己的需要选择三种不同大小的瓷砖,整理出最适合自己的主界面。在这一点上,微软比所有人都要领先一步。
流媒体扩展
iOS:&iOS 6中将会拥有AirPlay功能,是我们目前见过的最为方便和直观的流媒体扩展功能之一。你可以用它将手机上的音乐、视频和图片无线同步到其他iOS设备、电脑、音响、Apple TV甚至苹果推出的AirPort Express路由器上。不过,它仍然只支持苹果设备。
安卓:&Nexus Q的发布也标志着谷歌推出了自己的安卓系统流媒体播放标准,你可以用它在各种各样的设备上播放音乐、视频和其他内容,并用手机和平板电脑进行控制。而且,Nexus Q的扩展性比Apple TV更强,可适用的设备更普遍。
Windows Phone:&SmartGlass将会成为WP手机与Xbox连接的流媒体接口,基于顶端DLNA(数字生活网络联盟)标准构建的SmartGlass将Win8和WP8设备与Xbox之间的内容传递进行了高度简化和可视化,它甚至允许你在看电视的同时玩《权力游戏》。
win8 Rtm 下载一览表~
Windows 8,2号宣告RTM,微软称将向硬件厂商提供Windows 8母盘,这意味着我们将在不久后看到预装Windows 8的笔记本电脑、台式机和平板等产品。微软的Facebook页面上今天贴出了一组图像,展现了各大OEM厂商来微软总部获取Windows 8母盘的情景。曾几何时,新一代Windows操作系统发布之后,一系列OEM激活码就如雨后春笋般出现。不得不说,这让很多&伸手党&获益颇多,但同时也产生了大量的盗版副本,微软对此早已深恶痛绝。究其原因,还是&批量CDKey许可&这种不完善的激活流程所造成的。不过,这一局面以后或将得到改观。根据部分拿到母盘的OEM厂商爆料,为了&杜绝后患&,Windows 8将不再采用传统的激活方式,具体方式是每一台OEM机器都被要求写入唯一对应的Windows 8产品密钥,而无法再通过一个CDKey来批量激活系统。想必,此招一出,喜了微软,苦了&平民&。另外,新的激活方式只适用于Windows 8系统,Windows Server 2012和Windows Embedded不采用该激活方式,而Windows 7和此前版本系统也继续使用传统的OEM激活方式。&&
1、完整系统安装ISO下载(泄露版)
Windows 8 Pro&&简体中文& &专业版& & 中文(中国)&
64 位 (x64)&(3.50 GB)& && && &&&SHA1: 1AF6D18D1C9B0A2D3E504
64 位 (x64)&(3.50 GB)& && && &&&SHA1: 9279ABC3D60DD9E9D77F1E4ADEDB4410
32 位 (x86)&(2.56 GB)& && && &&&SHA1: 0E003DCDFC4EB9CCFE25F21D36E6D540
安装密匙:NG4HW-VH26C-733KW-K6F98-J8CK4& & 安装密匙非激活码 &64位两个版本是由不同的人泄露的
Winsdows 8 Enterprise&&简体中文&&企业版& & 中文(中国)&
64 位 (x64)&&&(3.70 GB)& && &&&SHA1:&E9F1A61B7EACCBA51DB6 & &
32 位 (x86)&&&(2.41 GB)& && &&&SHA1:&& &&
注:为二次封装或自制,非原版。详情可查看原帖。&
Windows 8 Pro&&英语(美国) 专业版
64 位 (x64)&&(3.34 GB)& && && &&&Sha 1:E63C1D3733532ABC7AB28F3D271A & &
32 位 (x86)&&(2.45 GB)& && && &&&Sha 1:B30B7D770F047CF427E836ABC048501EFF8A1FAC & & &
安装密钥:XKY4K-2NRWR-8F6P2-448RF-CRYQH&&- retail key
安装密匙:RR3BN-3YY9P-9D7FC-7J4YF-QGJXW - retail key for Windows Media Center
注:安装码并非激活码
Winsdows 8 Enterprise&&英语(美国) 企业版
64 位 (x64)&&(3.25 GB)& && && && &Sha 1:73DF20A98D8CDF52E70FBFFECBEBA63F2A242322 & &&
32 位 (x86)&&(2.38 GB)& && && && &Sha 1 :15CE0B76ACBBF76E33714FFC3A632 & & &
注:此版本安装无需输入安装码,且功能最全
Windows 8 Enterprise N(非引导版本)& &英语(欧洲)
64 位 (x64)&&(2.80 GB)& && && && & Sha 1 :06E84C99BBDC4EBD25E4 & & &
注:此版本无法从光盘启动,且不带Windows Media Player,系统无法评分。
Windows 8 Enterprise N(可引导版本)& &英语(欧洲)
64 位 (x64)&&(2.95 GB)& && && && & Sha 1 :EAEB2D2F07B18B4645 & &&
注:此版本不带Windows Media Player,系统无法评分。
2、语言包下载
64 位 (x64)&(133.77MB)& &&&
32 位 (x86)&(95.39&&MB)& &&&
Visual Studio Ultimate 2012 RTM& & 英语(美国)
32 位 (x86)&BT下载&(1.41 GB)& && &
(摘自远景)
PS最好知道的16个操作小技巧
Photoshop是一个专业图像处理软件,功能繁多,以致有时用起来还略显不方便。在这里我总结了一些简捷的方法奉献给大家,以提高做事的效率。  1.当你需要快速隐藏工具栏和多个浮动面板时,逐一点击面板上的关闭按钮,接下来使用时又要打开,十分不方便。其实你可以同时按键盘上的&Shift&和&Tab&键,这样浮动面板会立即隐藏起来,从屏幕上消失,再同时按下两键,面板又会显现;如果只按下&Tab&键,则工具栏连同浮动面板会一起隐藏,再按一下该键,它们会同时显现。  2.在Photoshop中,有很多时候要修改设置的取值。一般情况会在取值框的右侧有一个黑三角,点击它会出现一个滑动标尺,拖动标尺就可以修改取值了,但有时不会十分精确。这时可以按键盘上的向下箭头键(每按一下表示取值加一)和向上箭头键(每按一下表示取值减一),来准确调整数值。如果按住&Shift&键不放,那么每按一下表示取值加十或减十。  3.当你正在使用画笔工具,要调整不透明度时,还要打开设置框,很麻烦。这时你可以直接按键盘上的数字键来设定。比如当你按一下&0&键时,则不透明度为100%。&1&键为10%。先按&4&再按&5&,那么不透明度则为45%,依次类推。  4.当我们要复制文件中的选择对象时,要使用编辑菜单中的复制命令。复制一次,你也许觉不出麻烦,但要多次复制,一次一次的点击就相当不便了。这时你可以先用选择工具选定对象,而后点击移动工具,再按住&Alt&键不放,当光标变成一黑一白重叠在一起的两个箭头时,拖动鼠标到所需位置即可。若要多次复制,只要重复地松放鼠标就行了。  5.我们需要多层选择时,可以先用选择工具选定文件中的区域,拉制出一个选择虚框;然后按住&Alt&键,当光标变成一个右下角带一小&-&的大&+&号时(这表示减少被选择的区域或像素),在第一个框的里面拉出第二个框;而后按住&Shift&键,当光标变为一个右下角带一小&+&的大&+&号时,再在第二个框的里面拉出第三个选择框,这样二者轮流使用,即可进行多层选择了。其实用这种方法也可以选择不规则对象,自己去体会吧。  6.当我们编辑图片文件时,有时要去掉选择对象以外的图片颜色,这时可以按键盘上的&Delete&键,选择区以外就会变成背景色或透明的,这要看你设置的背景内容是什么了。  7.去掉扫描图片中的龟纹。由于印刷方面的原因,我们用扫描方式输入电脑的图片会有一些龟纹,如果在此基础上进行编辑处理,会影响以后的效果。这时你可以先用&Noise&滤镜中的&Despeckle&做处理,这时图片会变得稍微模糊;接着用&Sharpen&滤镜中的&Sharpen Edge&(注意设置数值要小一些)再处理一下,就大功告成,这时即使用放大工具观察也不会出现龟纹了。  8.我们使用Photoshop一段时间后,文件夹中已经存放了大量的图片和影像文件。当你要调用一个很久不用的文件,并且忘记了它的文件名时,需逐一打开文件夹中的文件来寻找,太麻烦。我这有一简便方法:Photoshop的File菜单下Automate中有一个Contact Sheet命令,它可以给整个文件夹中的每个文件建立一个小缩图,并存放在一个图像文件中,这样方便了以后的检索和查阅,节省了你我宝贵的时间。9. 当你想&紧排"(调整个别字母之间的空位),首先在两个字母之间单击,然后按下Alt键后用左右方向键调整。  10. 要快速的改变在对话框中显示的数值,首先用鼠标点击那个数字,让光标处在对话框中,然后就可以用上下方向键来改变该数植了。如果在用方向键改变数值前先按下Shift键,那么数值的改变速度会加快。  11. 如果你现在鼠标正处于以下的状态:毛笔,喷枪,铅笔,橡皮,只要按下Alt键,你就可以临时地换到滴管工具(不过鼠标要在已经打开的图像区域上)。 [next]  12. 想要放大在滤镜对话框中图像预览的大小吗,按下Ctrl键,用鼠标点击预览区域,图像放大;按下Alt键,用鼠标点击预览区域,图像缩小。  13. 你可以使你的改变绘图(包括用毛笔,铅笔,喷枪,橡皮画的东西)的透明度。首先,画上一笔,然后在滤镜菜单下面的会出现&退去X"(X取决于你刚在的那笔是用哪个工具),点击它,出现&退去"菜单,现在你就可以改变你上一笔的透明度了。  14. 裁切工具大家都一定用过,这种情况你也一定遇过:在你调整裁减框,而裁减框又比较接近图像边界的时候,裁减框会自把自为地贴到图像的边上,令你无法精确裁减图像。不过只要在调整裁减框的时候按下Ctrl键,那么裁减框就会服服帖帖,让你精确裁减。  15. 如果你用钢笔工具画了一条路径,而你现在鼠标的状态又是钢笔的话,你只要按下小键盘上的回车键(记住是小键盘上的回车,不是主键盘上的!!!),那么路径就马上就被作为选区载入。  16. 你可以用以下的快捷键来快速浏览你的图像。Home:卷动至图像的左上角;End:卷动至图像的右下角;Page Up:卷动至图像的最上方;Page Down:卷动至图像的最下方;Ctrl加P
Windows中32位(x86)和64位(x64)的解释~
Windows XP、Windows vista、Windows Server 2008及Windows 7,都有32位(x86)和64位(x64)两种版本。
面对两种版本光盘镜像下载,常常让有些网友不知所措:究竟选择哪个版本更好一些?
下面,我用最简洁的文字尽可能作最详尽的回答:两者之间存在的&五大不同&。
与此同时,着重说明Microsoft Windows64位(x64)操作系统,相对于32位(x86)操作系统的最大优势和劣势是什么?
1、设计初衷不同。64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存 和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。
2、要求配置不同。64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32 位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似&大马拉小 车&:64位效能就会大打折扣。
3、运算速度不同。64位CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提 取8个字节的数据),比32位(需要四个指令,一次提取4个字节的数据)提高了一倍,理论上性能会相应提升1倍。
4、寻址能力不同。64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大 的整数,也就是更大的地址。比如,Windows Vista x64 Edition支持多达128 GB的内存和多达16 TB的虚拟内存,而32位CPU和操作系统最大只可支持4G内存。
5、软件普及不同。目前,64位常用软件比32位常用软件,要少得多的多。道理很简单:使用64位操作系统的用户相对较少。因此,软件开发商必须考虑&投 入产出比&,将有限资金投入到更多使用群体的软件之中。这也是为什么64位软件价格相对昂贵的重要原因(将成本摊入较少的发售之中)。
总 而言之:Microsoft Windows 64位操作系统,必须&上&靠64位主机硬件的支撑,&下&靠64位常用软件的协助,才能将64位的优势发挥到极致,&三位一体&缺一不可(道理很简单: 操作系统只是承上启下的运行平台)。至于64位电脑可以安装32位操作系统,64位操作系统可以安装32位软件,那是设计上的&向下兼容&,不是64位设 计初衷的本来含义(如上所述)。
最后顺便提醒有些网友:&
1、64位电脑虽然可以安装32位操作系统,但是32位电脑绝对不能安装64位操作系统。这点至关重要务必牢记,以避免盲目下载和安装。
2、在64位电脑运行的32位操作系统上,不能采取硬盘安装方式安装64位操作系统。如若安装,首选光盘格式化安装方式,也可采用比较繁琐的DOS安装方式。
3、使用虚拟机安装操作系统,实际上就是在目前运行的操作系统上安装软件。因此,在32位操作系统上不能虚拟安装64位操作系统。即便采取&曲线&方式勉强安装,其实已经脱离了底层设备的支持,是毫无疑义的。
屏蔽优酷广告
闲话不多说&&
以前屏蔽优酷广告可能只要在C:\Windows\System32\drivers\etc下面的hosts里加上
优酷屏蔽:
127.0.0.1 Fvid.
127.0.0.1 html.
127.0.0.1 valb.
127.0.0.1 valf.
127.0.0.1 valo.
127.0.0.1 valp.
127.0.0.1 speed.
127.0.0.1 urchin.
127.0.0.1 static.
127.0.0.1 valc.
127.0.0.1 vid.
127.0.0.1 walp.
也就完事了,那是很轻松~~
但是现在不行了
-------------------------------------------------------------------------------------------------------------------------------------
教程开始:
1、如果你以前在我上面说的路径下面的hosts里做了小动作的,请先把里面去优酷广告的代码去掉。
2、打开浏览器,进入优酷,点开一个视频让讨厌的广告完整的播放完。
& && & XP: 打开文件夹 C:\Documents and Settings\你的当前用户\Application Data\Macromedia\Flash Player\#SharedObjects\RD7GG5KC[个人电脑不同,字母也不同] 看到的文件夹没有?删掉这个文件夹。新建一个文本。把名字改为,然后去掉文本的后缀.txt,
右键属性,设为只读。
& && & Win 7:打开文件夹C:\Users\你的当前用户\AppData\Roaming\Macromedia\Flash Player\#SharedObjects),同上删掉&&这个文件夹。新建一个文本。把名字改为,然后去掉文本的后缀.txt,右键属性,设为只读。
关于AppData这个文件夹,有可能是隐藏的,需要解除隐藏才能看到,如果不知道怎么查看隐藏文件夹的,请留言,或是百度怎么查看隐藏文件夹
同时 打开C:\Users\你的当前用户\AppData\Roaming\Macromedia\Flash \support\flashplayer\sys ,删掉&#&这个文件夹。新建一个文本。把名字改为#,然后去掉文本的后缀.txt,右键属性,设为只读。
切记要按以上步骤逐步操作,直接搜索文件可能导致无效!
4、打开浏览器,工具Internet选项
按照上图依次将两处&站点&和&设置&进行设置,完成点击确定
5、最后大家不要忘记了将
& &优酷屏蔽:
127.0.0.1 Fvid.
127.0.0.1 html.
127.0.0.1 valb.
127.0.0.1 valf.
127.0.0.1 valo.
127.0.0.1 valp.
127.0.0.1 speed.
127.0.0.1 urchin.
127.0.0.1 static.
127.0.0.1 valc.
127.0.0.1 vid.
127.0.0.1 walp.
再次加入到C:\Windows\System32\drivers\etc下面的hosts里。
最后对非专业人士再说下,关于hosts这个文件怎么打开:右击打开 选择记事本打开,就可以编辑了,将上面的代码加入到
# Copyright (c)
Microsoft Corp.
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
# For example:
#& && &102.54.94.97& &&&& && && & # source server
#& && & 38.25.63.10& &&&& && && && &&&# x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1& && & localhost
教程完毕,大家再打开优酷网,看看烦人的广告是不是去掉了。
对于其他网站广告以此类推的设置就OK了,本人亲测成功!
---------------------------------------------------------------------------------------------------------------------
再奉上各视频网站屏蔽广告代码
优酷屏蔽:&
127.0.0.1 Fvid.
127.0.0.1 html.
127.0.0.1 valb.
127.0.0.1 valf.
127.0.0.1 valo.
127.0.0.1 valp.
127.0.0.1 speed.
127.0.0.1 urchin.
127.0.0.1 static.
127.0.0.1 valc.
127.0.0.1 vid.
127.0.0.1 walp.
搜狐屏蔽:&
127.0.0.1 &
土豆屏蔽:&
127.0.0.1 *.*&
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
酷6屏蔽:&
127.0.0.1 v2.&
127.0.0.1 v3.&
127.0.0.1 v0.&
127.0.0.1 v1.&
127.0.0.1 st.&
127.0.0.1 stat2.&
127.0.0.1 pq.&
迅雷看看屏蔽:&
127.0.0.1 mcfg.sandai.net&
127.0.0.1 biz5.sandai.net&
127.0.0.1 server1.adpolestar.net&
127.0.0.1 &
127.0.0.1 mpv.sandai.net&
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
127.0.0.1 &
#去奇艺广告
127.0.0.tv.cn
127.0.0.tv.cn
127.0.0.1 .cn
@HostsX 国内站点广告/视频类网站
127.0.0.tv.cn
127.0.0.tv.cn
127.0.0.1 acs.
127.0.0.1 acs.agent.
127.0.0.1 bill.
127.0.0.1 bill.agent.
127.0.0.1 stat2.
127.0.0.1 *.*
127.0.0.1 at-
127.0.0.1 at-
127.0.0.1 at-
127.0.0.1 .cn
127.0.0.1 pq.
127.0.0.1 st.
127.0.0.1 stat0.
127.0.0.1 stat1.
127.0.0.1 stat2.
127.0.0.1 stat3.
127.0.0.1 v0.
127.0.0.1 v1.
127.0.0.1 v2.
127.0.0.1 v3.
127.0.0.1 m.openv.tv
#迅雷看看屏蔽:
127.0.0.1 mcfg.sandai.net
127.0.0.1 biz5.sandai.net
127.0.0.1 server1.adpolestar.net
127.0.0.1 mpv.sandai.net&转帖 勿喷
最狠的方法是用 浪迹浏览器
我的手机我做主~教你如何用流量发免费短信!(1)
& & 这里的免费指的是用流量换当然有一定的代价滴~如果你说我的流量都不够用那么你也没有看下去的必要了~适合于智能机,安卓肯定行,苹果自己百度.& &所谓免费短信,国内市场鱼龙混杂,所谓的,微信,米聊,飞信等等吧,要么需要接受者安装客户端,要么需要加好友,有的还有运营商限制,只能发给移动用户等~& &这里的免费指的是完全免费,以上的软件也就不再讨论之列了。&
㈠.推荐的第一款软件由美国佬开发:&HeyWire (最新结果貌似联通发送不好用了)
①你可以用它向任意用户发送短信,不需要对方的确认和同意,也不需要对方安装有此软件.也不需要用手机号码注册。以下两个软件也是.
②作者安装使用了一番,每次发送短信,可以说几乎没有网络延时,都能在在1分钟之内到达,想必这个和咱们的普通短息也差不多的,当然根据官方说法没有国家限制,很多国家都能自由发送.
③额缺点还是有滴,在手机端收到来自Heywire的短信会有一个Heywire附加的&小尾巴&,无非就是&本短信由Heywire为您发送&。对于一款免费程序来说,这么做无可厚非,更何况,这个&签名&是可以在&设置&里自行修改的,你看着他不爽,那就可以随便去掉.(他会推送广告,去掉方法自己寻找 &点我进入传送门)
④注册,首先你要能正常使用谷歌市场(挺多筒子把这个都精简掉了自己试一下行不行吧),然后打开背景数据然后进入软件大概十几秒(我是十几秒)就会弹出注册选项了(第一步和第二步,注册了之后/登录了之后就能忽略掉了),注册界面用不了几个英语单词,看不懂谷歌翻一下吧
⑤下载地址 &&
⑥不要让同伴回复你发给他的短信哦 ,那样的话相当于给美国人发短信的,除非他也安装了这个软件.&
㈢.第三款软件:云号码① 依旧是国产软件,界面挺简单的,注册还是要手机号码,若对方未安装客户端,也可通过Free信向对方发送免费跨网短信,无需加对方为好友。② 短信条数有限制,每月200 ,剩余不能累积到下个月③下载地址 &④至今没有发现广告~&&免费的电话(2) 将会继续更新 欢迎转载和关注!!
告诉你如何打出键盘隐藏的符号文字~
哇咔咔,有小键盘的童鞋可以试试哦~
你不知道的20个Win7快捷键~
迟来的王者——Surface:win8平板来啦
&&  这款平板电脑采用镁合金机身,10.6英寸显示屏,配备USB 2.0或3.0接口,使用Windows 8操作系统。微软官网将其称为&全高清显示屏&,屏幕比例为16:9。&  这款产品分为两个版本:一个使用Nvidia代工的ARM处理器,以及Windows 8专为ARM设计的版本Windows RT;另一个使用英特尔Core i5 Ivy Bridge处理器,使用Windows 8专业版。&  搭载ARM芯片的Surface平板电脑的厚度仅为9.3毫米,重675克,配备USB 2.0接口,分为32GB和64GB两个版本;搭载i5芯片的版本将配备USB 3.0接口,厚度为13.5毫米,重903克,存储空间为64GB或128GB。&  此外,微软还提供了多种颜色的Touch Cover外接键盘,采用触摸虚拟按键;还提供了另一种外接键盘Type Cover,采用实体按键,只有黑色一种型号。&  微软还发布了Surface的数种配件,包括3毫米厚的智能外壳。这一外壳能提供键盘功能。此外由于带有磁条,因此也被认为与iPad的SmartCover类似。&  价格方面,微软称将在发售前夕宣布零售价格,预计将与类似规格的ARM平板电脑或超极本接近。&  微软CEO史蒂夫&鲍尔默(Steve Ballmer)在洛杉矶的发布会上展示了Surface平板电脑的原型产品。它将在今年秋季Windows 8正式发布之后出货。&  推出自主平板电脑将使微软与硬件合作伙伴,例如三星(微博)电子和惠普(微博),发生直接竞争。数据显示,在未来2年内,平板电脑销售将达到目前的3倍,2013年将为1.8亿台,增长率远远超过传统PC。在iPad推出的2年内,苹果已售出了6700万台iPad。&  苹果凭借无缝的手机和平板电脑产品推动了移动市场的变革。谷歌在收购摩托罗拉移动之后可能也将采用类似的战略。&  微软股价在周一美国股市的盘后交易中小幅上涨。在周一纳斯达克(微博)股市的交易中,微软股价下跌0.6%,至29.84美元。&&form sina科技。
河蟹中国,你还敢更河蟹点吗??????????
输入关键字……
后缀数组法解决百度之星资格赛H题最多字串问题+若干常见字符串算法总结【必须是转的啊,我写不出来,真写不出来】
馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说&johnsonjohnson&、&duckduck&,这些词汇虽然看起来是一些词汇的单纯重复,但是往往都是一些特殊品牌的词汇,不能被拆分开。为了侦测出这种词的存在,你今天需要完成我给出的这个任务&&&找出用户请求中循环节最多的子串&。
输入数据包括多组,每组为一个全部由小写字母组成的不含空格的用户请求(字符串),占一行。用户请求的长度不大于100,000。最后一行输入为#,作为结束的标志。
对于每组输入,先输出这个组的编号(第n组就是输出&Case n:&);然后输出这组用户请求中循环节最多的子串。如果一个用户请求中有两个循环节数相同的子串,请选择那个字典序最小的。
ilovejohnsonjohnsonverymuchduckduckgoaaabbbcccisagoodcompany#
Case 1: johnsonjohnsonCase 2: duckduckCase 3: aaa
&后缀数组的相关介绍:
后缀数组是处理字符串的有力工具。后缀数组是后缀树的一个非常精巧的替代品,它比后缀树容易编程实现,能够实现后缀树的很多功能而时间复杂度也并不逊色,而且它比后缀树所占用的内存空间小很多。可以说,后缀数组比后缀树要更为实用。自从拜读了罗穗骞大牛的WC2009论文《后缀数组&&处理字符串的有力工具》后,经过若干星期的努力(中间有因某些原因而缓下来),终于把论文上面的练习题全部完成了,现在写写自己对后缀数组的理解和感悟。在看本笔记时,请不要忘记了,这是笔记,而教材是《后缀数组&&处理字符串的有力工具》。
一:后缀数组的实现
1、定义:Suffix Array数组(SA数组)用于保存从小到大排好序之后的后缀。RANK名次数组用来保存后缀S[i..n]在所有后缀中是第几小的后缀。简单来说,SA数组表示的是&排第几的是谁&,RANK数组表示的是&你的排名是多少&。
2、求SA数组以及RANK数组的方法:详细的请转到罗穗骞大牛的论文,我的学习笔记重点不是要介绍这个。
3、对DA(倍增算法)的一些个人理解:由于我只学习了倍增算法,所以我只能谈谈我对它的理解。DC3算法我没有去研究....
DA算法我是根据罗穗骞的模板写的,根据自己的理解做了些许的小优化。我们现在来看看罗穗骞大牛的模板:
int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int cmp(int *r,int a,int b,int l){return r[a]==r[b]&&r[a+l]==r[b+l];}void da(int *r,int *sa,int n,int m){int i,j,p,*x=wa,*y=wb,*t;for(i=0;i&m;i++) ws[i]=0;for(i=0;i&n;i++) ws[x[i]=r[i]]++;for(i=1;i&m;i++) ws[i]+=ws[i-1];for(i=n-1;i&=0;i--) sa[--ws[x[i]]]=i;for(j=1,p=1;p&n;j*=2,m=p){for(p=0,i=n-j;i&n;i++) y[p++]=i;for(i=0;i&n;i++) if(sa[i]&=j) y[p++]=sa[i]-j;for(i=0;i&n;i++) wv[i]=x[y[i]];for(i=0;i&m;i++) ws[i]=0;for(i=0;i&n;i++) ws[wv[i]]++;for(i=1;i&m;i++) ws[i]+=ws[i-1];for(i=n-1;i&=0;i--) sa[--ws[wv[i]]]=y[i];for(t=x,x=y,y=t,p=1,x[sa[0]]=0,i=1;i&n;i++)x[sa[i]]=cmp(y,sa[i-1],sa[i],j)?p-1:p++;}}
其实,我个人认为,对于这个算法以及代码,无需过分深入地理解,只需记忆即可,理解只是为了帮助记忆罢了。先解释变量:n为字符串长度,m为字符的取值范围,r为字符串。后面的j为每次排序时子串的长度。
for(i=0;i&m;i++) ws[i]=0;for(i=0;i&n;i++) ws[x[i]=r[i]]++;for(i=1;i&m;i++) ws[i]+=ws[i-1];for(i=n-1;i&=0;i--) sa[--ws[x[i]]]=i;
这四行代码,进行的是对R中长度为1的子串进行基数排序。x数组在后面需要用到,所以先复制r数组的值。特别需要注意的是,第四行的for语句,初始化语句为i=n-1,如果写得不太熟练,很容易习惯性地写成i=0,我一开始就是。理解这是基数排序的最好方法,找个例子,自己推推....
for(p=0,i=n-j;i&n;i++) y[p++]=i;for(i=0;i&n;i++) if(sa[i]&=j) y[p++]=sa[i]-j;
这两行代码,利用了上一次基数排序的结果,对待排序的子串的第二关键字进行了一次高效地基数排序。我们可以结合下面的图来理解:
不难发现,除了第一次基数排序以外,之后的每次双关键字排序,设此次排序子串长度为j,则从第n-j位开始的子串,其第二关键字均为0,所以得到第一个for语句:for(p=0,i=n-j;i&n;i++) y[p++]=i;使用pascal的朋友们注意了,这里之所以是n-j位,是因为c++的字符串是从第0位开始表示的。这里,p暂时成为了一个计数变量。第二个语句的意义,分析上图也不难理解,这里留给朋友们你们自行思考啦。(不如说我懒...)&
for(i=0;i&n;i++) wv[i]=x[y[i]];for(i=0;i&m;i++) ws[i]=0;for(i=0;i&n;i++) ws[wv[i]]++;for(i=1;i&m;i++) ws[i]+=ws[i-1];for(i=n-1;i&=0;i--) sa[--ws[wv[i]]]=y[i];
与一开始的4个for语句意义相同,基数排序。至于为什么wv[i]=x[y[i]],这个我想了蛮久没想通...硬记算了- -哪位朋友理解的希望能告诉我一声...
for(t=x,x=y,y=t,p=1,x[sa[0]]=0,i=1;i&n;i++)x[sa[i]]=cmp(y,sa[i-1],sa[i],j)?p-1:p++;
这个for语句中的初始化语句里,完成了x数组和y数组的交换,用了指针的交换节约时间,简化代码。这里需要注意的是p和i的初始值都是1,不是0.其实如果记得后面的语句,不难看出它们的初始值不能为0,因为后面有i-1和p-1嘛。这个for语句的意义要结合cmp函数来理解。反正,你知道这里p的值表示的是此时关键字不同的串的数量就对了。当p=n的时候,说明所有串都已经排好序了(它们的排名都唯一确定)。所以,一开始的循环语句中,循环条件是(p&n)。
另外,在使用倍增算法前,需要保证r数组的值均大于0。然后要在原字符串后添加一个0号字符,具体原因参见罗穗骞的论文。这时候,若原串的长度为n,则实际要进行后缀数组构建的r数组的长度应该为n+1.所以调用da函数时,对应的n应为n+1.
二、后缀数组的应用--height数组
在介绍后缀数组的应用前,先介绍后缀数组的一个重要附属数组:height数组。
1、height 数组:定义height[i]=suffix(sa[i-1])和suffix(sa[i])的最长公共前缀,也就是排名相邻的两个后缀的最长公共前缀。
height数组是应用后缀数组解题是的核心,基本上使用后缀数组解决的题目都是依赖height数组完成的。
2、height数组的求法:具体的求法参见罗穗骞的论文。对于height数组的求法,我并没有去深刻理解,单纯地记忆了而已...有兴趣的朋友可以去钻研钻研再和我交流交流
这里给出代码:
int rank[maxn],height[maxn];void calheight(int *r,int *sa,int n){int i,j,k=0;for(i=1;i&=n;i++) rank[sa[i]]=i;for(i=0;i&n;height[rank[i++]]=k)for(k?k--:0,j=sa[rank[i]-1];r[i+k]==r[j+k];k++);}
3、一些注意事项:height数组的值应该是从height[1]开始的,而且height[1]应该是等于0的。原因是,因为我们在字符串后面添加了一个0号字符,所以它必然是最小的一个后缀。而字符串中的其他字符都应该是大于0的(前面有提到,使用倍增算法前需要确保这点),所以排名第二的字符串和0号字符的公共前缀(即height[1])应当为0.在调用calheight函数时,要注意height数组的范围应该是[1..n]。所以调用时应该是calheight(r,sa,n)而不是calheight(r,sa,n+1)。要理解清楚这里的n的含义是什么。
calheight过程中,对rank数组求值的for语句的初始语句是i=1而不是i=0的原因,和上面说的类似,因为sa[0]总是等于那个已经失去作用的0号字符,所以没必要求出其rank值。当然你错写成for (i=0..),也不会有什么问题。
三、后缀数组解题总结:
1、求单个子串的不重复子串个数。SPOJ 694、SPOJ 705.
这个问题是一个特殊求值问题。要认识到这样一个事实:一个字符串中的所有子串都必然是它的后缀的前缀。(这句话稍微有点绕...)对于每一个sa[i]后缀,它的起始位置sa[i],那么它最多能得到该后缀长度个子串(n-sa[i]个),而其中有height[i]个是与前一个后缀相同的,所以它能产生的实际后缀个数便是n-sa[i]-height[i]。遍历一次所有的后缀,将它产生的后缀数加起来便是答案。
代码及题解:&
2、后缀的最长公共前缀。(记为lcp(x,y))
这是height数组的最基本性质之一。具体的可以参看罗穗骞的论文。后缀i和后缀j的最长公共前缀的长度为它们在sa数组中所在排位之间的height值中的最小值。这个描述可能有点乱,正规的说,令x=rank[i],y=rank[j],x&y,那么lcp(i,j)=min(height[x+1],height[x+2]...height[y])。lcp(i,i)=n-sa[i]。解决这个问题,用RMQ的ST算法即可(我只会这个,或者用最近公共祖先那个转化的做法)。
3、最长重复子串(可重叠)
要看到,任何一个重复子串,都必然是某两个后缀的最长公共前缀。因为,两个后缀的公共前缀,它出现在这两个后缀中,并且起始位置时不同的,所以这个公共前缀必然重复出现两次以上(可重叠)。而任何两个后缀的最长公共前缀为某一段height值中的最小值,所以最大为height值中的最大值(即某个lcp(sa[i],sa[i+1]))。所以只要算出height数组,然后输出最大值就可以了。
一道题目和代码:
4、最长重复不重叠子串 PKU1743
这个问题和3的唯一区别在于能否重叠。加上不能重叠这个限制后,直接求解比较困难,所以我们选择二分枚举答案,将问题转换为判定性问题。假设当时枚举的长度为k,那么要怎样判断是否存在长度为k的重复不重叠子串呢?
首先,根据height数组,将后缀分成若干组,使得每组后缀中,后缀之间的height值不小于k。这样分组之后,不难看出,如果某组后缀数量大于1,那么它们之中存在一个公共前缀,其长度为它们之间的height值的最小值。而我们分组之后,每组后缀之间height值的最小值大于等于k。所以,后缀数大于1的分组中,有可能存在满足题目限制条件的长度不小于k的子串。只要判断满足题目限制条件成立,那么说明存在长度至少为k的合法子串。
对于本题,限制条件是不重叠,判断的方法是,一组后缀中,起始位置最大的后缀的起始位置减去起始位置最小的后缀的起始位置&=k。满足这个条件的话,那么这两个后缀的公共前缀不但出现两次,而且出现两次的起始位置间隔大于等于k,所以不会重叠。
深刻理解这种height分组方法以及判断重叠与否的方法,在后面的问题中起到举足轻重的作用。
练习及题解:
5、最长的出现k次的重复(可重叠)子串。 PKU3261
使用后缀数组解题时,遇到&最长&,除了特殊情况外(如问题3),一般需要二分答案,利用height值进行分组。本题的限制条件为出现k次。只需判断,有没有哪一组后缀数量不少于k就可以了。相信有了我前面问题的分析作为基础,这个应该不难理解。注意理解&不少于k次&而不是&等于k次&的原因。如果理解不了,可以找个具体的例子来分析分析。
题目及题解:
6、最长回文子串 ural1297
这个问题没有很直接的方法可以解决,但可以采用枚举的方法。具体的就是枚举回文子串的中心所在位置i。注意要分回文子串的长度为奇数还是偶数两种情况分析。然后,我们要做的,是要求出以i为中心的回文子串最长为多长。利用后缀数组,可以设计出这样一种求法:求i往后的后缀与i往前的前缀的最长公共前缀。我这里的表述有些问题,不过不影响理解。
要快速地求这个最长前缀,可以将原串反写之后接在原串后面。在使用后缀数组的题目中,连接两个(n个)字符串时,中间要用不可能会出现在原串中,不一样的非0号的字符将它们隔开。这样可以做到不影响后缀数组的性质。然后,问题就可以转化为求两个后缀的最长公共前缀了。具体的细节,留给大家自己思考...(懒...原谅我吧,都打这么多字了..一个多小时了啊TOT)
题目及题解:&
7、求一个串最多由哪个串复制若干次得到 PKU2406
具体的问题描述请参考PKU2406.这个问题可以用KMP解决,而且效率比后缀数组好。
利用后缀数组直接解决本题也很困难(主要是,就算二分答案,也难以解决转变而成的判定性问题。上题也是),但可以同过枚举模板串的长度k(模板串指被复制的那个串)将问题变成一个后缀数组可以解决的判定性问题。首先判断k能否被n整除,然后只要看lcp(1,k+1)(实际在用c写程序时是lcp(0,k))是否为n-k就可以了。
为什么这样就行了呢?这要充分考虑到后缀的性质。当lcp(1,k+1)=n-k时,后缀k+1是后缀1(即整个字符串)的一个前缀。(因为后缀k+1的长度为n-k)那么,后缀1的前k个字符必然和后缀k+1的前k个字符对应相同。而后缀1的第k+1..2k个字符,又相当于后缀k+1的前k个字符,所以与后缀1的前k个字符对应相同,且和后缀k的k+1..2k又对应相同。依次类推,只要lcp(1,k+1)=n-k,那么s[1..k]就可以通过自复制n/k次得到整个字符串。找出k的最小值,就可以得到n/k的最大值了。
题目及题解:
8、求两个字符串的最长公共子串。Pku2774、Ural1517
首先区分好&最长公共子串&和&最长公共子序列&。前者的子串是连续的,后者是可以不连续的。
对于两个字符串的问题,一般情况下均将它们连起来,构造height数组。然后,最长公共子串问题等价于后缀的最长公共前缀问题。只不过,并非所有的lcp值都能作为问题的答案。只有当两个后缀分属两个字符串时,它们的lcp值才能作为答案。与问题3一样,本题的答案必然是某个height值,因为lcp值是某段height值中的最小值。当区间长度为1时,lcp值等于某个height值。所以,本题只要扫描一遍后缀,找出后缀分属两个字符串的height值中的最大值就可以了。判断方法这里就不说明了,留给大家自己思考...
题目及题解:
9、重复次数最多的重复子串 SPOJ 687,Pku3693
难度比较大的一个问题,主要是罗穗骞的论文里的题解写得有点含糊不清。题目的具体含义可以去参考Pku3693.
又是一题难以通过二分枚举答案解决的问题(因为要求的是重复次数),所以选择朴素枚举的方法。先枚举重复子串的长度k,再利用后缀数组来求长度为k的子串最多重复出现多少次。注意到一点,假如一个字符串它重复出现2次(这里不讨论一次的情况,因为那是必然的),那么它必然包含s[0],s[k],s[2*k]...之中的相邻的两个。所以,我们可以枚举一个数i,然后判断从i*k这个位置起的长度为k的字符串能重复出现多少次。判断方法和8中的相似,lcp(i*k,(i+1)*k)/k+1。但是,仅仅这样会忽略点一些特殊情况,即重复子串的起点不在[i*k]位置上时的情况。这种情况应该怎么求解呢?看下面这个例子:
当k=2,i=1时,枚举到2的位置,此时的重复子串为ba(注意第一位是0),lcp(2,4)=3,所以ba重复出现了2次。但实际上,起始位置为1的字符串ab出现次数更多,为3次。我们注意到,这种情况下,lcp(2,4)=3,3不是2的整数倍。说明当前重复子串在最后没有多重复出现一次,而重复出现了部分(这里是多重复出现了一个b)。如果我这样说你没有看懂,那么更具体地:
sa[2]=bababc
sa[4]=babc
现在注意到了吧,ba重复出现了两次之后,出现了一个b,而a没有出现。那么,不难想到,可以将枚举的位置往前挪一位,这样这个最后的b就能和前面的一个a构成一个重复子串了,而假如前挪的一位正好是a,那么答案可以多1。所以,我们需要求出a=lcp(i*k,(i+1)*k)%n,然后向前挪k-a位,再用同样的方法求其重复出现的长度。这里,令b=k-a,只需要lcp(b,b+k)&=k就可以了。实际上,lcp(b,b+k)&=k时,lcp(b,b+k)必然大于等于之前求得的lcp值,而此时答案的长度只加1。没有理解的朋友细细体会下上图吧。
题目及题解:&
10.多个串的公共子串问题 PKU3294
首先将串连接起来,然后构造height数组,然后怎么办呢?
对,二分答案再判断是否可行就行了。可行条件很直观:有一组后缀,有超过题目要求的个数个不同的字符串中的后缀存在。即,假如题目要求要出现在至少k个串中,那么就得有一组后缀,在不同字符串中的后缀数大于等于k。
题目及题解:&
11、出现或反转后出现所有字符串中的最长子串 PKU1226
12、不重叠地至少两次出现在所有字符串中的最长子串 spoj220&
之所以把两题一起说,因为它们大同小异,方法在前面的题目均出现过。对于多个串,连起来;反转后出现,将每个字符串反写后和原串都连起来,将反写后的串和原串看成同一个串;求最长,二分答案后height分组;出现在所有字符串中(反写后的也行),判断方法和10一样,k=n而已;不重叠见问题4,只不过这里对于每个字符串都要进行检验而已。&
13、两个字符串的重复子串个数。 Pku3415
我个人觉得颇有难度的一个问题。具体的题目描述参看Pku3415。
大家可以移步到这:
14、最后的总结
用后缀数组解题有着一定的规律可循,这是后缀的性质所决定的,具体归纳如下:
1、N个字符串的问题(N&1)
方法:将它们连接起来,中间用不会出现在原串中的,互不相同的,非0号字符分隔开。
2、无限制条件下的最长公共子串(重复子串算是后缀们的最长公共前缀)
方法:height的最大值。这里的无限制条件是对子串无限制条件。最多只能是两个串的最长公共子串,才可以直接是height的最大值。
3、特殊条件下的最长子串
方法:二分答案,再根据height数组进行分组,根据条件完成判定性问题。三个或以上的字符串的公共子串问题也需要二分答案。设此时要验证的串长度为len,特殊条件有:
3.1、出现在k个串中
条件:属于不同字符串的后缀个数不小于k。(在一组后缀中,下面省略)
3.2、不重叠
条件:出现在同一字符串中的后缀中,出现位置的最大值减最小值大于等于len。
3.3、可重叠出现k次
条件:出现在同一字符串中的后缀个数大于等于k。若对于每个字符串都需要满足,需要逐个字符串进行判断。
4、特殊计数
方法:根据后缀的性质,和题目的要求,通过自己的思考,看看用后缀数组能否实现。一般和&子串&有关的题目,用后缀数组应该是可以解决的。
5、重复问题
知道一点:lcp(i,i+k)可以判断,以i为起点,长度为k的一个字符串,它向后自复制的长度为多少,再根据具体题目具体分析,得出算法即可。
Windows 8 RC Is Coming ~~!
要么生 要么死 要么“被腾讯”
国外媒体今天发表文章称,腾讯在中国社交网络市场取得了巨大成功,虽然产品线广泛,但都颇具竞争力。创业公司要想取得发展,就要避开腾讯的覆盖网,而腾讯未来面临的挑战将是反垄断。全球移动互联网大会周四在北京举行,中国成功互联网企业家全体出席,表明现在仍然是在中国开启网络业务的好时机。但是每一个成功企业故事似乎都被腾讯的阴影所笼罩。腾讯在社交网络领域取得了巨大成功,甚至都在中国网络企业家圈里流传着这样一句名言:要么生,要么死,要么&被腾讯&(Life, death or Tencent)。
一个进入中国互联网市场的企业要么选择与腾讯合作,要么就被击溃,很少有人能在寄希望于与腾讯竞争的前提下取得快速发展。这一现状被金山董事长、小米手机创始人雷军在周四早上的会议中提及,他当时正在讨论小米去年推出的即时通信服务米聊。当着坐在前排的腾讯CEO马化腾的面,雷军回忆起了他与同事预测腾讯何时会推出相对应的服务。&我们当时认为腾讯可能需要6个月,&雷军说,&但是他们只用了2个月就推出了微信。&微信是一种广泛流行的移动通信服务,分析师预计,自从去年发布以来,微信目前积累的用户量已经超过了6000万。附合着尴尬的笑声,雷军开始谈起他如何使用竞争对手更加流行的通讯服务研究竞争之策。UC优视董事长兼CEO俞永福在接受采访时指出,在一个充满机遇的移动网络浏览器市场,腾讯QQ浏览器是他们的头号中国竞争对手。俞永福表示,他坚信能够击败腾讯,UC优视仍是中国移动浏览器市场领导者,这主要源于他们专注单一产品。不过腾讯已经数次证明,尽管他们的产品线广泛,但依旧可以击败专注单一产品的公司。营销策略公司沃尔夫亚洲集团(Wolf Group Asia)CEO大卫&沃尔夫(David Wolf)认为,腾讯未来面临的主要障碍就是自己所取得的成功。&腾讯将面临一些类似微软此前经历的挑战。虽然不受谢尔曼反垄断法的约束,但中国有自己的反垄断法。如果这种状况发展到一定程度,腾讯将打破一些人的梦想,甚至是那些不能得罪的人的梦想。腾讯到时可能就会发现自己面临一些挑战。&对于那些勇敢寻求抗衡腾讯的创业公司来讲,沃尔夫认为,关键是要业务多样化,扩展中国以外市场,打入腾讯不去竞争的行业。UC优视已经将业务拓展到中国以外的多个国家,而小米则开发低成本智能机,所以他们都占有一席之地,但现在似乎还没有哪家暴发户能将腾讯击败。&文
Adobe CS6 全系列官方中文版下载(Suit/独立程序)
& & & Adobe4月26日正式宣布了新一代面向设计、网络和视频领域的终极专业套装&Creative Suite 6&(简称CS6),包含四大套装和十四个独立程序。与此同时,Adobe还发布了订阅式云服务&Creative Cloud&(创意云),可让用户下载安装任何一款CS6程序。
Adobe CS6四大套装:& & & & & &
  - CS6 Design Standard (设计标准版)&&&
  - CS6 Design & Web Premium (设计与网络高级版)&
  - CS6 Production Premium (产品高级版)&
  - CS6 Master Collection (大师典藏版)&
Adobe CS6独立程序:
  - Photoshop CS6&
  - Photoshop CS6 Extended&
  - Illustrator CS6&
  - InDesign CS6&
  - Acrobat X Pro&
  - Flash Professional CS6&
  - Flash Builder 4.6 Premium Edition&
  - Dreamweaver CS6&
  - Fireworks CS6&
  - Premiere Pro CS6&
  - After Effects CS6&
  - Audition CS6&
  - SpeedGrade CS6&
  - Prelude CS6&
  - Encore CS6&
  - Bridge CS6&
  - Media Encoder CS6&&----------------------我是华丽的分割线-------------------以下是下载地址:
Adobe Creative Suite 6四大套装:
Adobe Creative Suite 6 Design Standard&&(设计标准版):- 制作具有感染力的印刷设计和数字出版物,完整版价格:9248元Windows版:
Adobe Creative Suite 6 Design & Web Premium&&(设计与网络高级版):- 为印刷、网络、平板电脑和智能手机提供创新理念,完整版价格:13516元Windows版:
Adobe Creative Suite 6 Production Premium(产品高级版):完整版价格16895元。Windows版:
Adobe Creative Suite 6 Master Collection(大师典藏版):完整版价格23120元。Windows版:
Adobe Creative Suite 6独立程序:
Adobe After Effects CS6&- 自由发挥想象力,创建动态图像,完整版价格:8892元Windows版:
Adobe Dreamweaver CS6&- 设计、开发和维护标准型网站和应用程序,完整版价格:2846元Windows版:
Adobe Fireworks CS6- 弹指间就能设计最精美的网站和移动应用程序,完整版价格:2135元Windows版:待更新MAC版:待更新
Adobe Flash Professional CS6&- 在设备中创建并发布丰富多彩的创意,完整版价格:4980元Windows版:
Adobe Illustrator CS6&- 使用基本的矢量工具探索新途径,完整版价格:4269元Windows版:
Adobe InDesign CS6&- 为印刷和数字出版设计专业页面版面,完整版价格:4980元Windows版:
Adobe Photoshop CS6&- 运用专业级标准创作出具有震撼力的图像,完整版价格:4980元Windows版:
Adobe Premiere Pro CS6&- 预订购按您需要的方式编辑,完整版价格:7114元Windows版:
MAC版:【下载地址 】&&
站长在关注

我要回帖

更多关于 日本格价网 的文章

 

随机推荐