一道题看bitset应用 --ZOJ 3642】的更多相关文章

题意:给n个文件,包括文件名和文件大小,然后给出k个关键词,查询包含该关键词的文件的大小总和.文件名为一些中括号括起的关键词的合集. 解法:可用bitset记录每一个关键词在哪些文件中出现,然后查询即可. bitset用法如下: bitset<SIZE> bs; bool is_set = bs.any(); //是否存在1 bool not_set = bs.none(); //是否全0 int cnt_one = bs.count(); bs[index] = ; bs.flip(inde…
从一道题看线程安全 Java中的线程安全是什么: 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问. 什么叫线程安全: 如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码.如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的.  或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导…
前段时间看到一道题,如下:([][[]]+[])[+![]]+([]+{})[!+[]+![]]问最终打印结果,然后简单了解一下js的装箱,拆箱操作. 基本 装箱操作: 就是将基本类型(String, Number, Boolean)转为引用类型 拆箱操作: 与装箱相反,就是将引用类型转为基本类型, 常用的基本方法有: valueof , toString() 分析 像上面的那个题目,主要是拆箱操作,下面就来简单拆解分析一下吧: 1. 基础: [] ==> [] (Array); [[]] ==…
在知乎看到有人分享了几道笔试题,自己总结了一下其中与channel有关的题目.全部题目在这里: https://zhuanlan.zhihu.com/p/35058068 题目 5.请找出下面代码的问题所在. func main() { ch := make(chan int, 1000) // goroutine1 go func() { for i := 0; i < 10; i++ { ch <- i } }() // goroutine2 go func() { for { a, ok…
计算文件夹下所有文件的大小 // 查看错误信息 __autoreleasing NSError *error; // 文件管理对象 NSFileManager *manager = [NSFileManager defaultManager]; // 读取路径 NSString *path = @"/Users/Mu/Desktop/copy/17-Copy基本使用(深浅拷贝).mp4"; // 记录内存 double size = 0; // 获取文件夹属性:内存大小不准确 NSDi…
ACCEPT acm作业 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=204 因为老师是在集合那里要我们做这道题.所以我很是天真的就以为要用集合做,结果发现网上都是用数组简单明了地实现了,显得我的代码,特么地超级恶心!!!!!!! 在这里存档一下,别人就不要看了,ZOJ的格式也真是恶心...居然因为这个也弄了好久,应该只有我一个人用这么 没脑的集合方式做吧..真的是哭瞎在厕所里!!! //#include "stdafx.…
从我接触程序竞赛到现在应该有十多年了,单说ACM竞赛,从第一次非正式参赛到现在也差不多有7年多的样子.有太多的故事,想说的话,却一直没能有机会写下来.一方面是自己忙,一方面也是自己懒.所以很感谢能有人"逼"我来写点什么.想到会有很多人来读我写的文字,自己也觉得很开心.其实每个人的生活都是一部电影,只是没有那么多幸运的人有机会去诉说.这里,且说三个小故事. 一个关于仰望,崇拜和梦想的故事 2000年,有一个天才的高中生,在IMO(国际数学奥林匹克竞赛)中以满分获得了金牌并提前一年进入北大…
对于SQl, 很多人学不会的原因是从一开始就没明白,学这东西能干啥,学会了能有什么用.甚至有些人不知道'SQL'应该怎么读,以至于一开始兴致勃勃,但是学到一半放弃了. 注意:'sql'真的不能读成'烧烤'.'惜烤'.'撒扣'.'斯购',另外,'MYSQL'真的不能读成'卖烧烤','卖西裤',有学员问:那我卖什么,我回答说:你去死. 如果你真的.实在是.绝对的看不懂英文的音标,那就暂且读'色儿扣'吧,这是针对英语文盲特别制作的读法.(注意我在这里并没有瞧不起你的意思) 所以,坚持学会的根本,不在于…
传送门 题意: 农场主 FJ 有 n 头奶牛,现在给你 m 对关系(x,y)表示奶牛x的产奶速率高于奶牛y: FJ 想按照奶牛的产奶速率由高到低排列这些奶牛,但是这 m 对关系可能不能精确确定这 n 头奶牛的关系: 问最少需要额外增加多少对关系使得可以确定这 n 头奶牛的顺序: 题解: 之所以做这道题,是因为在补CF的题时用到了bitset<>: 搜这个容器的用法是看到了一篇标题为POJ-3275:奶牛排序Ranking the Cows(Floyd.bitset)的文章: 正好拿着道题练练b…
前提 本文主要内容是分析JDK中的BitMap实现之java.util.BitSet的源码实现,基于JDK11编写,其他版本的JDK不一定合适. 文中的图比特低位实际应该是在右边,但是为了提高阅读体验,笔者把低位改在左边了. 什么是BitMap BitMap,直译为位图,是一种数据结构,代表了有限域中的稠集(Dense Set),每一个元素至少出现一次,没有其他的数据和元素相关联.在索引,数据压缩等方面有广泛应用(来源于维基百科词条).计算机中1 byte = 8 bit,一个比特(bit,称为…