uniapp自定义简单省市区联动组件 又双叒一个uniapp组件最近有一个选择地址的需求,就写了一个省市区联动选择器。选择日期使用的picker,就照着它简单的整了一个,使用网络请求城市数据,还用到了vuex组件数据共享。本来自己整了一个底部弹窗,又在插件市场看到了更好的底部弹窗 :LuPopupWrapper--弹窗容器, 所以就用了这个。依然发布到了插件市场:http://ext.dcloud.net.c...
java动态更新枚举类 工作中遇到需要对枚举类的值进行动态更新 手动改不现实也不方便 现记录下来方便以后学习使用1.在工程utils包中添加动态更新枚举类得工具类(根据自己得项目,放到指定位置调用就可以)2.一开始陷入了误区,认为要根据我自己得枚举类去修改,addEnum和makeEnum方法因为网上示例都是两个参数得,而我的是5个的,弄了好久(被自己蠢晕)才发现,它是个数组啊。package ...
Oralce 触发器 今天做了一个需要用到触发器实现的功能中间去到了各种问题,还好最后都解决了;整个过程中真是遇到了不少错误: ORA-04091: 表 KPGO.T_ISSUER 发生了变化, 触发器/函数不能读它 ORA-04092: COMMIT 不能在触发器中 ORA-04098:触发器“xx.xxx”无效且未通过重新定义首先说第一个错是因为这样的代码:原因...
区间最值的优秀数据结构---ST表 ST表,听起来高大上,实际上限制非常多,仅仅可以求最值问题;为什么?先从原理看起;st表运用了倍增的思想:st[i][j] = min(st[i][j - 1],st[i + 2^(j - 1))][j - 1]);意义是:从i开始向后连续2^j个位置的最大值是,i开始向后连续2^(j-1)个位置的最大值和i+2^(j-1)开始向后连续2^(j-1)个位置的最大值;好了,...
CF 148D Bag of mice 题解 题面这是我做的第一道概率DP题;做完后发现没有后效性的DP是真的水;在这里说主要是再捋顺一下思路;设f[i][j]表示有i只白鼠,j只黑鼠是获胜的概率;显然:f[i][0]=1;然后分四种情况:1.先手刚好拿到白鼠:概率是i/(i+j);2.先手拿到黑鼠,后手拿到了白鼠:概率为0;3.先手拿到了黑鼠,后手拿到了也黑鼠,并且跑的是白鼠:概率是::dp[i...
三校连训 异或 题解 异或 (xor.cpp/.c) 【题目描述】 给定一个正整数 n,在 [1,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b。【输入格式】 输入共一行,一个正整数 n。 【输出格式】 输出共一行,一个正整数表示答案。 【输入输出样例】 【输入样例】 3 【输出样例】 1 【样例解释】 只有(2,3)满足要求。 【数据范围】 对于 30%的数据,n≤10...
洛谷 P1613 跑路 题解 题面这道题有着较小的n,所以求最短路时floyd也可以胜任;设g[i][j][k]表示目前从i到j存在权值为k的路径;由于边权均为1,所以g[i][j][k]=g[i][p][k-1]+g[p][j][k-1];对于f[i][j];如果i到j可以1步过去,那么=1;否则=inf;然后跑floyd就好了;#include <bits/stdc++.h>...
分块的总结 分块,是一种优雅的暴力,它通过对数列分段,完成对数列一些区间操作和区间查询的操作,是一种根号算法。分块的功能: 1.区间加;2.区间减;3.。。。。。。 4.查询区间和 3.查询任意区间内有多少个数大于等于k(注意,这个功能是我们使用分块而不选择线段树的重要依据)在我的分块中,block表示原数组被分块后每块有多少个元素(不算最后一个);...
网络流之当前弧优化浅谈 在dinic中,我们会发现,dfs中每条边都会遍历至少一遍,那么我们可以把一定不会用到的边删去吗?答案是当然可以,这就用到了当前弧优化;其实这个优化在很久很久以前学习欧拉回路的时候就接触到了;每次增广一条路后可以看做“榨干”了这条路,既然榨干了就没有再增广的可能了。但如果每次都扫描这些“枯萎的”边是很浪费时间的。那我们就记录一下“榨取”到那条边了,然后下一次直接从这条边开始增...
[USACO13OPEN]照片Photo 题解 题面这道题似乎可以用单调队列优化DP做,但这里讲的是一种差分约束的思路;设s[i]表示1~i中选了多少个;s[b[i]]-s[a[i]-1]<=1;s[b[i]]-s[a[i]-1]>=1;s[i]-s[i-1]<=1;s[i]-s[i-1]>=0;然后跑SPFA最短路;但要注意:普通的SPFA根本就过不去,所以我...
洛谷 P2801 教主的魔法 题解 题面刚看到这道题的时候用了个树状数组优化前缀和差分的常数优化竟然AC了?(这数据也太水了吧~)本人做的第一道分块题,调试了好久好久,最后竟然没想到二分上还会出错!(一定要注意)仅此纪念;#include <bits/stdc++.h>#pragma GCC optimize(2)using namespace std;int a[1000010],...
[MtOI2019]永夜的报应 题解 题面题面说的乱糟糟的看起来似乎是个可持久化线性基;然而~一个式子搞定一切: a^b<=a+b那么把所有数异或起来便是答案;#include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; long long ans=0...
[POI2011]SMI-Garbage 题解 题面想必各位大佬一定想到了把现在和目标值不一致的边加入到一个新建的图上;问题就变为了在新的图上寻找有多少个欧拉回路,并输出这些路径;我们可以用栈来记录情况,然后对于会回答稍微处理处理就好了;#include <bits/stdc++.h>#define inc(i,a,b) for(register int i=a;i<=b;i++)usin...
[ZJOI2008]骑士 题解 题面这道题稍微想一想就会联想到树形DP的入门题:没有上司的舞会;但是再想一想会发现这根本就不是一颗树,因为它比树多了一条边;这时候我们引入一个新的概念:基环树;顾名思义(??),基环树就是在一颗树上填一条边构成的一个图;基环树也叫环套树(明明更像树套环)。我们在树上可以做的事情基本都可以在基环树上实现:比如树形DP基环树的基本解题思路就是找到在环上的两个点:S,T...
[ZJOI2007]时态同步 题解 题面这道题是一道比较水的XXOI题;我们可以发现,反着思考题目就变为了让所有叶子节点同时发出信号,然后这些信号同时到达根节点;可以证明,这样答案不会改变;那么我们可以自下而上dfs(),设f[u]表示以u为根,可以到达的最远距离;那么很显然,对于点u,它对答案的贡献度就是num(它子节点的个数)*f[u]-sum(f[v]);实现也比较容易,但要注意开long l...
LOJ167 康托展开 题解 题面康托展开:康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的名次,因此是可逆的。X = A[0] * (n-1)! + A[1] * (n-2)! + … + A[n-1] * 0!A[i] 指的是位于位置i后面的数小于A[i]值的个数,后面乘的就是后面还有多少个数的阶乘这个算出来的数康拖展...
洛谷 P1578 奶牛浴场 题解 题面1、定义有效子矩形为内部不包含任何障碍点且边界与坐标轴平行的子矩形。如图所示,第一个是有效子矩形(尽管边界上有障碍点),第二个不是有效子矩形(因为内部含有障碍点)。 2、极大有效子矩形:一个有效子矩形,如果不存在包含它且比它大的有效子矩形,就称这个有效子矩形为极大有效子矩形。(为了叙述方便,以下称为极大子矩形)3、定义最大有效子矩形为所有有效子矩形中最大的一个(或多个)。...
三校联训 【NOIP模拟】寻找 题面“我有个愿望,我希望穿越一切找到你。”这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y)):1、我可以走到(x+1,y)2、我可以走到(x,y+1)3、我可以走到(x+1,y+1)现在我需要你的帮助,帮我找出我最多能够得到多少个果实。对于70%的数据1...
洛谷 P1809 过河问题 题解 题面这道题是一道贪心+DP的好题:首先排序是一定要干的事情。然后我们分情况处理:1.如果剩一个人,让最小的回来接他2.如果剩两个人,让最小的回来接,剩下的那两个人(即最大的两个人)过去,让次小的回来,最小的两个过去以上的两个方法一定是最优的,因为最大的人要不让最小的送,要不带一个次大的;将上面的意义转为DP方程就是:1.f[i]=f[i-1]+a[1...
LOJ 103 字串查找 题解 题面这道题是KMP的模板。KMP需要注意的细节有很多,所以把这篇文章发上来供参考;#include <bits/stdc++.h>using namespace std;char a[1000010],b[1000010];int nxt[1000010];int n,m;void pre(){ nxt[1]=0; ...