自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 学习笔记1

1 kotlin的val和const val的区别?​ val是会生成一个变量和一个get方法,并且通过get方法去获取变量的值​ const val是final static 修饰,直接生成一个变量​ 频繁获取的话,后者的效率会更高2 .class(字节码)文件的结构各个部分的长度是固定死的,包括以下信息:(1)魔数 标志为一个字节码文件(2)类版本号(3)常量池中的数量以及具体的常量(4)是否为接口、类的访问权限、是否为final、是否为abstract、是否为enum等(5)类的全

2020-05-09 21:04:16 167

原创 Recovering BST

Codeforces Round #505 D. Recovering BST题目链接:http://codeforces.com/problemset/problem/1025/D题意:给定一个长度为n(<= 700)的序列问是否能用这些数字构造出一颗二叉排序树,使得其每条边连接的两个点之间的gcd(最大公约数)>1做法:对序列排序,我们容易想到枚举每一条边判断是否合法,但是显...

2018-08-27 20:52:37 431

原创 Android开发中Message, MessageQueue, looper, handler, HandlerThread

简单介绍一些Android的多线程机制:我们在Android的开发中,要遵守的是 "单线程模式":1.UI线程就是主线程,后台任务不能出现在主线程中,也就是不能阻塞UI线程2.当我们需要UI更新的时候,这部分工作必须在主线程中完成, 而不能在其它工作线程中,也就是不要再主线程之外访问Android的UI组件包引用自技术大牛:" Android开发必须满足这两个要素,否则程序就会崩溃,Android...

2018-06-23 15:26:07 242

原创 TensorFlow在Android平台上的安装和应用

当我们有一个已经训练好的TF模型的时候,我们怎么去调用这个模型并且让他顺利在Android平台上运行起来呢?大概包括这几个方面: 1、 保存训练完毕的TF模型 2、 在Android项目中导入TF模型、导入Android平台调用TF模型需要的jar包和so文件 (它们负责TF模型的解析和运算) 3、定义变量、存储数据,通过jar包提供的接口进行模型的调用下面是引用自其它技术大佬的一些过程讲解。移植...

2018-06-23 14:36:32 3054

原创 android开发中使用JNI调用本地函数要注意的一些问题

首先我们要知道什么是JNI,什么情境下会用到JNI。先简单地说一下什么是JNI: JNI(Java Native Interface)       1、什么是JNI:              JNI(Java Native Interface):java本地开发接口              JNI是一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++)              ...

2018-06-23 14:27:47 502

原创 2018计蒜之道 初赛 第二场

A.淘宝推荐系统题面链接:https://nanti.jisuanke.com/t/26984直接暴力dp就行.....代码赛后没保存Orz....找不到了B.阿里巴巴的手机代理商(简单)题目链接:https://nanti.jisuanke.com/t/26985直接拿map暴力就行#include<cmath>#include<algorithm>#include&...

2018-05-15 11:21:38 450

原创 C. Square Subsets

C. Square Subsets题目链接 给一个序列ai,长度n,问有多少种方法可以选一些数字出来,且使得这些数字乘积是一个平方数。 n<=1e5 , ai<=70 任意一个平方数可以表示为p1^a1 * p2^a2 * ……其中p1表示质数,a1是一个偶数,且我们不关心具体是多少只需要知道是奇偶即可,那么可以直接用01来表示。 观察到ai比较小,我们直接把70以内的数字拆分成质因子表示形

2018-01-12 16:29:03 460

原创 D. Kefa and Dishes

D. Kefa and Dishes题目链接 给一个序列ai,长度为n,每个ai对应一个价值,选出m个数字出来,同时给出K对关系(i,j,ck)表示当前如果取了第j个,而上次是取的第i个,那么还可以获得ck的价值,问最大能获得的价值。 m<=n<=18 看似一个图论,网络流之类的流来流去,但是数据范围较小,可以直接状压dp。 f[i][status][j]表示当前取了i个状态为status,

2018-01-12 16:17:45 448

原创 hdu6076

Security Check(多校第四场)题意是有两队人在排队等待安检,每个人有一个权值,每分钟可以检查一个人的,当两个人权值差的绝对值>k时,可以一分钟同时检查这两个人。问把所有人检查完所需要的最短时间。n<=60000,k<=10,Ai,Bi均是(1-n)的全排列。 如果这个n比较小我们容易得到一个f[i][j]表示检查完第一队前i个人,第二队前j个人所需要的最短时间。if |A[i] -

2017-10-11 12:29:30 370

原创 poj2155

poj2155题意是给一个01矩阵,有两种操作,一种是把左上角x1,y1到右下角x2,y2这个子矩阵中的01翻转,一种是查询某个点x,y的值。 楼教主的题目,很经典的树套树。翻转实际上就是把这个区间异或1,也可以看成模2意义下加1。然后就是树套树的思想对每一行建立一个树状数组,每一列也建一个。每次更新,我们可以在x1行对[ y1,y2 ]进行区间+1更新,在x2+1行对[y1,y2]进行-1更新。

2017-10-03 13:47:52 457

原创 Codeforces Round #437 (Div. 2) E. Buy Low Sell High

题目链接 题意是有n天,你知道接下来每一天股票的价格,你可以选择卖一张股票,买一张或者什么都不做,一开始你没有股票,且没有股票的时候不能卖,问说你n天后能获得的最大利润。非常玄妙的贪心题。假设我们当前天得到一个股票的价格x,那么我们去之前的日子里找一个价格最低的股票y,如果y<x的话那么我们相当于可以在这天把y股票升值为x且赚到(x-y)元,同时注意这时股票y仍然可以买。 举个例子 1 , 2

2017-10-03 12:21:35 361

原创 Codeforces Round #436 (Div. 2)E.Fire

题目链接 题意是有一个人着火了,有n个物品,每个物品有一个价值p,有一个d代表必须在<d之前的时间里把这个东西救出来才有效,有一个t代表救该物品需要用的时间,问你说最后能够获得的最大价值是多少,同时按救援顺序输出救了哪些东西。 如果不考虑物品的deadline的话,我们就直接做一个背包记录一下路径即可,但是考虑到物品救援有先后顺序,我们发现如果两个物品的d一样的话,那么先后救哪

2017-09-26 12:27:23 349

原创 hdu6199

沈阳网络赛1006 gems gems gems 题意是有n堆宝石(可能有负数),A和B从左到右拿宝石,A先手拿1或者2堆,假设某个人当前拿了k堆,那么下一个人只能拿k或者k+1堆,如果他取不了k堆宝石时,游戏结束。定义difference为A拿到的宝石数减去B拿到的宝石数,A想要其值最大化,B想要其值最小化,假设A和B都用最好的策略,那么这个最终的difference最大可以多大。这个题目好像

2017-09-13 12:21:17 1024 2

原创 Codeforces Round #433 Jury Meeting

D. Jury Meeting题目链接 题意是给有n个地点,m次航班,每次航班有4个信息,起飞日期di、出发地fi、目的地ti、花费ci,起飞和出发地至少有一个是地点0。现在n个地点,每个地点有一个人,他们要到地点0,当所有人都到达的时候,一起待k天,然后再分别回到n个地点。问说最小的花费是多少,如果达不到这个要求输出-1。我们考虑从前往后对日期做一个dp,维护dp[i]第i天到达0点的最小花费,

2017-09-07 10:47:44 418

原创 主席树的不同建树方式

主席树,又叫可持久化线段树,一种可持久化的数据结构。 一种基本用处是查询区间中排名为k的数字,还有一种是普通的线段树操作区间修改,区间查询,或者区间历史查询。 两者的建树方式有所不同, 第一种的建树方式是先把所有数字去重+离散化,然后得到不重复数字的个数n,然后[l,r]这个节点里存的是当前前缀中[a[l] , a[r]]有多少个数字,这里跟普通的线段树存的东西不太一样。

2017-09-02 13:22:34 519

原创 玲珑杯#20 造物主的戒律

题目链接 题意给一个序列每次询问给l,r,x,k1,k2,每次查询区间中小于等于x的所有数字里面第k1小的值以及大于x的所有数字里面第k2小的值,如果不存在,输出-1 每次输出两个数,对于每个数如果不存在,则单独输出-1 主席树模板题,找出≤x的个数P,然后查询区间第k1 , k2+P小的数字。#include<cmath>#include<algorithm>#inc

2017-09-02 12:52:08 319

原创 hdu6191(广西邀请赛K)

题目链接 题意是给一棵树,每个点有点权,然后每次询问给一个子树和一个x,问子树上面所有的点中异或x的最大值是多少。 这个题目可以离线用字典树合并的方式,从叶子往根去合并,也可以用dfs序直接把子树转化为区间上的问题,然后用可持续化trie树去做。 可持续化trie树本质其实和主席树的建树方式差不多,动态建树且每一次新增一条链。然后当询问某一个子树的时候,通过dfs序把它

2017-09-02 12:46:11 676

原创 超强手动扩栈方法

#ifdef OPENSTACK int size = 128 << 20; // 64MB char *p = (char*)malloc(size) + size; #if (defined _WIN64) or (defined __unix) __asm__("movq %0, %%rsp\n" :: "r"(p));

2017-08-28 11:06:50 749

转载 加强版输入输出挂

没想到这个东西真的能用上 ,2017多校第10场namespace IO { const int MT = 10 * 1024 * 1024; /// 10MB 请注意输入数据的大小!!! char IO_BUF[MT]; int IO_PTR, IO_SZ; /// 要记得把这一行添加到main函数第一行!!! void begin() {

2017-08-24 15:45:02 288

原创 ABBYY Cup 3.0 E3

E3. Summer Homework(线段树+矩阵)题目链接 题意是给一个序列,支持三种操作 1、把第x个数改为v 2、求l到r之间的和 3、给l到r之间加上一个数字 和函数定义是Sum(l,r) = a[l]*f[0] + a[l+1]*f[1] + a[l+2]*f[2] + ……+a[r]*f[r-l] f[]为斐波那契数列 这个题其实即使没有第一种第三种操作,

2017-08-24 11:30:29 354

原创 hdu6170

HDU6170 Two strings题目链接 题意是给两个串,第一个串是只包括大小写字母的串,第二个串除了大小写字母还包含了 ” * ” “.” 。 “.”可以匹配任意字符 ,“ * ”可以让前面的字符出现任意次,包括0次。 问这两个串能不能匹配上。 这道题有很多种解法,用java正则或者模拟或者dp都行。 给出dp做法,dp[i][j][0/1/2]代表第一串前i个和第二

2017-08-22 21:20:37 492

原创 HDU6161

Big binary tree多校1001 题目链接 题目是给一棵完全二叉树,从上到下从左到右给每个节点标号,每个点有权值,初始权值为其标号,然后有两种操作: 1、把u点权值改为x 2、查询所有经过u点的路径中,路径上的点权和最大。 节点有n个,修改有m个,n<=1e8 ,m<= 1e5 我们容易想到维护一个dp[u]代表从u点往下走能获得最大的权

2017-08-22 20:59:48 911

原创 hdu6155

Subsequence Count题目链接 ccpc网络赛1006 题意是给一个01字符串,然后有2种操作, 1、把l到r这个区间的字符翻转, 2、查询l到r这个区间有多少个不同的子序列,(注意是子序列,可不连续),对1e9+7取模 这个题目在比赛的时候过的人很少 其实对于第二种操作,我们容易得到一个dp[i][0/1]代表前i个字符以0/1结尾的不同子序列有多少个,容易得到方程if(s

2017-08-21 19:43:28 1026

原创 hdu6105

多校第六场1010题目链接 题意是有两个人在玩游戏,有一棵树,一开始每个节点都是没有颜色的,然后A先手,B后手,每次A可以选一个未上色节点涂成白色,B选一个未上色节点涂成黑色,同时与其直接相邻的点也被涂成黑色(无论已经上色与否),B在游戏过程中随时可以做一个小动作就是切割树的一条边。当所有点都被上色时,如果节点中有一个是白色的,那么A获胜否则B获胜,问最后胜利的情况。 看起来B好像很吊的样子,

2017-08-11 16:05:57 534

原创 高维前缀和

前几天补2016大连icpc现场赛的题目时,遇到了一个树分治,这个题除了套一个树分治的模板还要加上高维前缀和的东西。然后发现自己什么都不会….(只是一个铜牌题),补了一下相关的知识,先写一下高维前缀和吧。for(int i = 0; i< 3 ;++i){ for(int j = 0; j<8 ;++j) if( !(j&(1<<(i))) ) a[j] += a[j|(1

2017-08-10 20:24:26 2884 2

原创 hdu5534

Partial Tree题目链接 题意是有n个点,需要加边把他们连接成一棵树,然后每个点的点权的其度数对应的价值。然后问能够连接形成的树的最大权值。 抽象出来其实就是有n-1个物品,背包大小为 2*(n-1), 然后每个物品可以取多次,但是必须取出恰好n个东西出来,因为对应n个点。朴素的解法是我们直接多加一维状态去表示,但是很麻烦的是三维的dp显然没办法在这个题里面做。 有一个精妙的操作可以

2017-08-07 13:03:22 435

原创 Codeforces Round #427 (Div. 2) D.Palindromic characteristics

题目链接 题意是这样的:定义了一种k阶回文串,1-阶是普通的回文串,k-阶回文串的前半串和后半串必须是相等的(不是回文,例如abcabc,如果长度奇数中间的不管他)然后其前半串必须是k-1阶回文串,后半串必须是k-1阶回文串。 然后给一个串,问这个串有多少子串是i阶回文串(i从1到n,依次输出) 分析一下可以看出如果一个串是k阶回文串,那么他必然是k-1阶回文串,于是我

2017-08-06 16:34:23 295

原创 hdu6070

多校第四场1004Dirt Ratio 这个题意提炼出来就是让我们求一个序列中有区间中的不同数字和该区间长度的比值的最小值。 这个题目十分巧妙,因为之前刚刚写过codeforces上的一个类似题目,详见这里 : Codeforces Round #426 (Div. 2) D. The Bakery 当时做多校的时候有往这个方面去想但是又不知道怎么去做,看了题解后才有总结。

2017-08-06 16:23:44 387

原创 Codeforces Round #426 (Div. 2) D. The Bakery

题目链接 给一个序列,要求把序列划分成k段,每一段里的权值是这一段里不同数字的个数。求如何划分使得k个区间的权值和最大。 我们容易想到dp[i][j]代表前j个分为i段时的最大值 dp[i][j] = dp[i-1][k] + size(k+1 , j) ( 0<=k<j ) //size(a,b)表示a到b这个区间里有多少个不同数字但是这显然是个二维的方程,比赛时怎么都

2017-08-06 15:49:05 427

原创 hdu6078

多校第四场1012Wavel Sequence 题意是定义一种波浪数列,满足a1< a2 > a3 < a4 > a5 给两个数列a,b,选出a b的一个公共子串,且是一个波浪数列,问这样的方案有多少种。 这个题相当于公共子序列里再套一个dp 定义dp[i][j][k]为a串前i个且以b串j结尾且上升状态为k时的方案数,那么就可以枚举转移了。 dp[i

2017-08-05 21:18:48 703

原创 BZOJ4750 密码安全

(题目链接) [http://www.lydsy.com/JudgeOnline/problem.php?id=4750] 题意就是……像题目说的那样,中文题比较好理解。 之前肠胃炎,一个多星期没写题后写的第一道题。 首先我们可以用单调栈把每个数字以它为最大值的区间求出来,然后由于位运算每位之间不互相联系的特点,我们把每个数字分解为二进制,然后再观察一下发现异或有一些可以使用的规律。 比如1

2017-07-31 11:53:51 273

原创 计蒜之道复赛 腾讯消消乐

腾讯消消乐 状压dp题目链接 题意是就点进去题目链说的那样. 看一下数据由于n<18 然后考虑用状压dp dp[i][s] 表示消去i次得到的状态为s的方案数,1代表删了0代表还没删,当我们枚举到一个状态s时,取出所有0位,然后枚举其中的一段,删除掉,即可转移到下一步的该状态, 例如1010101,即表示当前序列已经被删剩下3个,然后枚举这3个数字中的一段如 110,则当前状态可

2017-07-31 11:35:21 582

原创 hdu5238(中国剩余定理+线段树)

hdu5238题目链接 题意是对于一个数字x,进行一次有n个运算操作的的运算,如*5 +6 ^3,就是对x先*5再+6 再3次幂,然后输出最后的结果对29393取模的答案. 然后接下来有m次操作,有两种,一种是可以把某个运算符修改掉.另一种是把给x赋一个值 直接模拟的话复杂度肯定是受不了的.然后查了题解发现可以和中国剩余定理结合起来,中国剩余定理大概就是,当我们知道一个x对几个互质的pi

2017-07-29 12:29:08 361

原创 斜率优化dp

hdu3045在做了几个入门的斜率dp题之后写这个题,其实这个题的方程跟之前的入门题hdu3507差不多 , dp[i] = min(dp[i] , dp[j] + (sum[i] - sum[j]) - (i-j) *(num[i+1]) ) ; {0 <= j <= i - T} 可以看出来其实基本上没什么不同,唯一有区别的是j的取值范围.0到i-T 这是我一开始写的版

2017-07-10 22:05:09 440

原创 湘潭CCPC A题

Determinant题意是给有一个n-1行n列的矩阵 让我们求去掉任意一列,得到的行列式的值(模1e9+7),也就是n个答案 最坏的做法枚举每一列然后消元,复杂度O(n³*n),显然不太可行 可以这么做,先做一次高斯消元得到一个阶梯矩阵,然后枚举每一列,枚举到第i列,把i+1到n-1列 往上移动一格,即(做一次消元) x x x x x x x 0 x x x x

2017-07-02 21:37:33 390

原创 poj1973

poj1973题目链接 题意是有n个人,有项目A和项目B,项目A和B总共有m个,它们分别相互独立.每个人完成一个项目A,B的时间分别是xi,yi.问完成m个A项目和m个B项目所需要的时间是多少. 我们很容易想要用二分时间,但是check函数并不好想,听有的dalao说用一种贪心的方法,先按b从小到大排序,如果相等则a从大到小排序.然后从后往前,也就是说让做b慢的先去把A做了,做到

2017-06-20 11:35:36 330

原创 美团点评A轮B题

合并回文子串题目链接 题意是给两个字符串,问合并之后可以得到的最长回文串有多长. 如dba abcd 合并后可以成为 dabcbad 最长回文串即为它本身. 求一串字符串的最长回文串的dp解法是dp[i][j]为1表示i到j为合法回文串,为0表示不合法,当(s[i] == s[j]&& dp[i+1][j-1]) dp[i][j] = 1, 空串的时候也是合法的.

2017-06-20 09:54:37 375

原创 hdu5900

2016沈阳网络赛题目链接 题意是一开始没搞清楚,给n对数字,然后每对数字有一个key 一个value,如果当两个连着的数字key不互质的话,那么这两个数字可以消去,同时可以获得这两个数字的value,而且消去后旁边两个数字也是连起来了,有点类似于消消乐. 搞懂题意后应该很明显可以看出是一个区间DP,但是太菜了方程不太好想. 可以先预处理一下i到j是否可以被消去

2017-06-18 14:16:45 330

原创 计蒜之道2016第六场

题目链接:微软员工的福利(中等)题意是………………题面描述的那样…..中文题. 我只想到了中等的解法,就是对于一个点直接枚举他儿子和他自己的两个最值,然后树型dp,复杂度是O(n³),思路比较清晰但是写起代码来比较复杂,因为在枚举最大值最小值的时候要考虑到这个最值是不是该点他本身.#include<cmath>#include<algorithm>#include<cstring>#incl

2017-06-01 09:48:32 419

原创 2017icpc全国邀请赛(陕西)

赛后总结首先想吐槽一下天花板会掉的酒店和自带不明黄色痕迹的床单 算了还是直接进入主题吧….. 热身赛爆零了,一道猜题意一道是二分贪心,一道是数位dp+数论,cf上面的题,强肛二分贪心结果没肛出来,真是蠢的不行. 正赛打的也很难看,先看到J题签到直接输出一个坐标就OK, 然后是B题,题意是给我们一个序列,然后可以把序列中任意两个数字进行交换,最多交换k次,求能够得到的最大连续子段和.一开始往D

2017-05-24 13:37:57 1339 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除