- 博客(23)
- 收藏
- 关注
转载 java 正则表达式Greedy、Reluctant、Possessive的理解
//possessive 输出: 无,“b+“已经匹配了所有11个b,后面再加一个b,也就是12个b,此时就匹配不了了,这个是常人的理解//即将后面一个b占有了(不具有回溯功能),串中因为没有12个b,所以没有输出//Matcher matcher = Pattern.compile("b++b").matcher("aaabbbbbbbbbbbwac");//则可以正常匹配了。
2016-12-24 22:56:38 551
转载 android 运行时异常“Binary XML file line # : Error inflating class”
在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉...... 我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决: 1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必
2016-12-23 23:28:51 950
转载 android 读取SD卡中MP3文件的信息
转自:点击打开链接今天研究了下如何在Android读取SD卡中的媒体文件(MP3),开始的思路是遍历SD卡所有目录,// 获得所有的歌曲 final File music = Environment .getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC); m
2016-12-21 23:52:19 1861
转载 andorid 选项卡
选项卡主要由TabHost、TabWidget和FrameLayout3个组件组成,用于实现一个多标签页的用户界面,通过它可以将一个复杂的对话框分割成若干个标签页,实现对信息的分类显示和管理。使用该组件不仅可以使界面简洁大方,还可以有效地减少窗体的个数。在Android中,实现选项卡的一般步骤如下:(1)在布局文件中添加实现选项卡所需的TabHost、TabWidget和FrameLa
2016-12-21 11:41:55 470
转载 android Handler 使用方法
摘自:点击打开链接、点击打开链接Handler 为Android操作系统中的线程通信工具,包为android.os.Handler。与Handler绑定的有两个队列,一个为消息队列,另一个为线程队列。Handler可以通过这两个队列来分别:发送、接受、处理消息–消息队列;启动、结束、休眠线程–线程队列;Android OS中,一个进程被创建之后,主线程(可理解为当前Ac
2016-12-19 23:51:54 457
转载 以AVL树为例理解二叉树的旋转(Rotate)操作
转载自:点击打开链接树旋转是在二叉树中的一种子树调整操作, 每一次旋转并不影响对该二叉树进行中序遍历的结果. 树旋转通常应用于需要调整树的局部平衡性的场合. 树旋转包括两个不同的方式, 分别是左旋转和右旋转. 两种旋转呈镜像, 而且互为逆操作. 平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保
2016-12-18 16:47:35 2940
原创 Codeforces Round #385 (Div. 2) B. Hongcow Solves A Puzzle
题意:给你两个相同的拼图,每个拼图里的X都只能整体水平竖直移动,不能旋转,问你通过整体移动能不能让这两块拼图的X组成一个矩形(中间不能为空)。思路:因为每个拼图内部的X不能移动,所以要想拼成矩形,只有一个拼图中的X组成的是一个矩形才可以。如何判断一个拼图里的X是不是一个矩形?找到一行有连续X的然后找下面几行相同的连续的X。数出数量,判断下是不是为X的数量和即可。代码:
2016-12-18 11:47:32 621
原创 poj 1703 Find them, Catch them (种类并查集)
看了半天才差不多有点看明白了关系的更新。一下摘自博客:点击打开链接 一道标准的关系型并查集题。普通的并查集是给几个同类的元素,而关系型并查集是给不同类的元素,然后求各个元素之间的关系。 题目大意是:在一个城市里有两种不同的犯罪团伙。首先输入T表示有T组测试,然后输入N和M,表示有N个罪犯(编号从1到N)而且接下来有M个操作。操作分为两种:
2016-12-07 17:51:38 572
原创 hdoj 5805 NanoApe Loves Sequence(模拟)
官方题解:求出前ii个数里相邻差值的最大值f_ifi,ii到nn里相邻差值的最大值g_igi,那么ans=\sum_{i=1}^n \max(|A_{i-1}-A_{i+1}|,f_{i-1},g_{i+1})ans=∑i=1nmax(∣Ai−1−Ai+1∣,fi−1,gi+1)。时间复杂度O(n)O(n)。
2016-12-07 16:36:29 410
原创 Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution
思路:a[i] ^ a[j] = x -> a[j]^x = a[i], 读入的时候找到前面有多少个对应的a[j]^x加上即可。找的时候最大可能是2^17-1,所以数组要开的大一点。代码:#includeusing namespace std;const int maxn = 1e6+5;typedef long long ll;int book[maxn], n, x
2016-12-06 23:24:38 927
原创 hdoj 5974 A Simple Math Problem(数学)
题目地址:点击打开链接思路:测试组数12W,暴力不用考虑了。 设gcd(x, y) = gcd, i*gcd + j*gcd = a, i*j*gcd = b; 因为i, j互质, 所以i+j, i*j互质, 所以gcd(a, b) = gcd, 所以可以联立方程i+j = a/gcd, i+j = b/gcd 从而解出i, j,再乘上gcd即为X, Y题意有个坑,没说
2016-12-04 22:19:17 434
原创 哈理工邀请赛 F.Fibonacci Again (矩阵快速幂)
题目地址:点击打开链接比赛的时候打表找到了规律,6个一循环,可以前没做过类似的you周期的求矩阵快速幂..没构造出来。以下参考博客:点击打开链接解题思路:解决本题的一个关键就是发现其表达式和原来的斐波那契数列的不同,通过打表分析观察,可以发现一个以6为周期的循环。通过这些表达式就可以将这道问题转化成常见的矩阵快速幂问题了,因为后面
2016-12-04 17:35:38 505
原创 hdoj 5935 Car (模拟, 精度)
题目地址:点击打开链接一开始以为速度也是整数...然后一直wa.....其实速度一开始就有说是个实数。参考题解:点击打开链接题意:有个老司机开车,速度是一组非递减的序列,然后交警只记录了他的位置,问你,这个老司机要经过这些所有的位置最少需要的时间思路:因为速度要么是不变,要么是递增的,所以经过最后一个位置的时候速度是最大的,又因为没有给出对速度的限制,所
2016-12-04 14:09:05 795 4
原创 hdoj 5918 Sequence I(kmp, 暴力?)
题目地址:点击打开链接题意:有两个序列,a1~an与b1~bm。 给出p,问在a1~an中有几个q能满足 b1==aq, b2==bq+p,b3==bq+2p . . . bm==aq+(m-1)p思路:用了最朴素的暴力。。。从后往前找,找到和bm相同的开始匹配,看看是不是匹配上。。。这样应该是n^2复杂度吧。我想应该会TLE,结果过了。。别人写
2016-12-02 22:41:29 541
原创 hdoj 5916 Harmonic Value Description(数学, 构造)
题目地址:点击打开链接思路:连续的序列,两两之间的gcd一定是1,所以k=1,即最小的就可以直接为1-n直接升序。当k不为1时,有可能的情况是某两个数之间gcd变成了k,而其他任意的两两gcd任然为1。直接拿这一种情况去构造,简单起见,让第一组gcd变成k,又要让后面的gcd都还为1,我们可以这样构造2*k, k, k-1, k-2...1, k+1, k+2...2*k-1, 2
2016-12-02 22:23:42 522
原创 hdoj 5914 Triangle(规律,斐波那契)
题目地址:点击打开链接思路:要减去最少的让它不能构成三角形,可知构成三角形的条件是a+b>c,不符合的极限条件a+b=c,所以可以想到留下斐波那契数,这样就能拿最小的让它不满足构成三角形的条件。代码:#includeusing namespace std;const int maxn = 25;int fib[maxn] = {0, 1}, sum[max
2016-12-02 13:36:07 456
原创 hdoj 5912 Fraction(模拟)
题目地址:点击打开链接因为数据量很小,直接倒着推模拟即可。代码:#includeusing namespace std;typedef long long ll;const int maxn = 15;ll a[maxn], b[maxn], n;int main(void){ int ca = 1, t; cin >> t; wh
2016-12-02 13:05:41 488
原创 hdoj 1729 Stone Game(sg函数)
题目地址:点击打开链接题意:现在有n个箱子,每个箱子有一个容积si和一个当前箱子内的石子数ci,两个人轮流往这n个箱子里面放石子,每次放的个数为1-ci*ci。例如箱子里有3颗石子,那么下一个人就可以放1~9颗石子最后不能放入石子的人输。一开始直接递推sg函数....数据量比较大 必然TLE...思路:我们知道s肯定是必败态,此时已经没有可以
2016-12-02 11:41:32 597
原创 hdoj 1851 A Simple Game(组合博弈, sg函数)
和hdoj1848基本一样。就是一个组合博弈,求出每一个堆的sg函数,异或一下即可。代码:
2016-12-01 20:16:24 437
原创 hdoj 1848 Fibonacci again and again(组合博弈, sg函数)
题目地址:点击打开链接sg函数可以看上一篇博客组合博弈,就是把简单的游戏组合起来,比如3堆的可以看成3个一堆的游戏。定理:假设游戏 Gi的SG函数是gi, i=1,…,n, 则G = G1 + … + Gn 的 SG函数是g(x1,…,xn) = g1(x1)⊕…⊕gn(xn).其中那个符合就是异或^看看是不是和Nim游戏的结论差不多?如果想理解原理链接在此
2016-12-01 19:53:29 469
原创 hdoj 1847 Good Luck in CET-4 Everybody!(博弈, sg函数)
讲博弈入门和sg函数入门比较好的一个博客:点击打开链接题目地址:点击打开链接这题既可以用sg函数做,也可以用pn的定义(必败态和必胜态)来做。sg函数代码:#include#include#includeusing namespace std;const int maxn = 1e3+5;int p[11] = {1, 2, 4, 8, 1
2016-12-01 19:17:31 601
原创 UVALive 7512 November 11th(模拟, 思维)
题目地址:点击打开链接题意:给出坏凳子的位置, 座位不能挨着坐, 问最多可以做多少人, 以及最少可以坐多少人使得不能再有可以坐的位置.思路:最多坐多少人:(每段连续区间的凳子数+1)/2即为最多可做的人数最少坐多少人:一段连续区间内,每三个位置坐一个人010 010,不足三个座位的再坐一个人这样一遍for循环复杂度是10^6, 再乘上测试组数10^2....按理说10^
2016-12-01 16:05:09 403
原创 UVALive 7500 Boxes and Balls(模拟,二分)
题目地址:点击打开链接题意:你手里有N个球,现在需要用你手里尽可能多的球使得这个游戏经过多次游戏后形成一种恒定状态思路:最后形成一种恒定状态的情况是每个盒子里放得球数一定是个连续的序列,1, 1 2, 1 2 3, 1 2 3 4....因为只有这样从任意一个框里取出一个球放到另一框后再排序,得到的还是原来的序列。所以知道这后只要求比n小的最大前n项和即可,可以用二分来
2016-12-01 15:57:15 551
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人