- 博客(64)
- 收藏
- 关注
原创 高质量椭圆检测库
该库适用于边界清晰的椭圆检测、最好需要检测的的椭圆的大小在 200 * 200 像素以上,太小可能会有漏检,所以称之为标准椭圆检测。
2023-05-31 12:31:51
1291
原创 一个基于 go 实现的轻量级任务调度框架
随着任务类型的越来越多,copy 代码的方式效率低下,且容易改出问题,这时候需要一个任务调度框架,既能够统一任务调度的流程,也能够适应差异。开发者只需要实现自己的任务容器接口和任务执行器接口,用任务容器和任务执行器创建任务调度器,即可轻易的实现任务调度。任务流部分的代码脱敏以后,后续也会开源。有一个计算 a+b 的服务,由于该 a+b 是一种新的高维空间的计算规则,计算非常耗时耗资源,所以该服务设计成为异步的。任务的是否可持久化,通俗来说,就是任务执行完成以后,是否还能查询到任务相关的信息和记录。
2023-04-24 22:52:08
2261
1
原创 欢迎使用优快云-markdown编辑器
今天给一个学生调试 c++ 代码。 他的代码大致如下。#include <iostream>uisng namepsace std;void move(long n) { .....}int main() { long n; cin >> n; ... move(1); move(n); ... return 0;}然后发现
2017-03-08 11:55:36
499
原创 实习日志(1)初识flex & bison (计算器的设计)
我怎么也没想到来公司了竟然是做编译原理相关的工作。 毕竟没有学过编译原理 ,看到正则表达式就晕了。T_T刚刚拿到flex & bison 这本书的时候 感觉一头雾水,完全知道干什么的。第一天看了词法分析工具flex。直接用flex写出统计单词,行数,字符数的程序,比起直接用C++去模拟,简单的多了。顿时就感觉这个东西好叼。然后就看到了bison 这个这个东西, 后来才懂flex & biso
2015-12-17 22:04:18
2127
原创 scu oj 4443 Range Query (scoure :2015年四川省acm省赛)
Range Queryfrog has a permutation p(1),p(2),…,p(n) of {1,2,…,n}. She also has m1+m2 records (ai,bi,ci) of the permutation.For 1≤i≤m1, (ai,bi,ci) means min{p(ai),p(ai+1),…,p(bi)}=ci;For m1i
2015-08-25 11:43:56
1754
原创 hdu 5244 inverse (上海大都会赛) (分治算法)
nverseTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 110 Accepted Submission(s): 44Problem DescriptionMike has got a huge ar
2015-08-17 20:36:54
1442
原创 scu oj 4442 Party(2015年四川省acm程序设计竞赛)
Partyn frogs are invited to a tea party. Frogs are conveniently numbered by 1,2,…,n.The tea party has black and green tea in service. Each frog has its own preference. He or she may drink only b
2015-08-10 14:29:14
1930
原创 bzoj [NOI2007]货币兑换Cash (cdq分治+斜率优化 )
1492: [NOI2007]货币兑换CashTime Limit: 5 Sec Memory Limit: 64 MBSubmit: 2454 Solved: 1078[Submit][Status][Discuss]DescriptionInput第一行两个正整数N、S,分别表示小Y 能预知的天数以及初始时拥有的钱数。 接下来N 行,第K 行三个实数AK
2015-08-04 19:59:27
735
原创 zoj 3874 Permutation Graph (cdq分治+NTT)
因为做做题学会了NTT ,比FFT的精度高了很多,收货很大。/*code by islandsy1=a[0]+a[1]x^1+a[2]x^2.....a[n]x^ny2=b[0]+b[1]x^1+b[2]x^2.....b[m]x^my=y1*y2; 在O(nlgn)的复杂度求出y的系数*/#include#include#include#include#include
2015-07-31 20:58:03
1000
原创 快速数论变换模板(NTT)
快速数论变化(NTT)是的原理其实和快速傅里叶变换是一样的原理。 对于形如m= c*2^n+1的费马素数,假设其原根为g。那么瞒住g^(m-1)==1 而且正好(m-1)能整除2^n的。所所以可以在模p域进行NTT变换。旋转因子为 g^((m-1)/n)。其他的原理都和FFT的原理相同。这样可以解决特殊情况下FFT的浮点误差。/* * Author: islands * Create
2015-07-31 20:32:47
4637
1
原创 POJ 1486 (2分匹配 必须变判断)
建图很好想到,主要是后面判断这条匹配边是不是必须变。 只需要吧当前这个匹配拆开,并且在图中吧这条边去掉。对对于左边的点去找增光路,如果不能找到,说明就是匹配必须边。#include#include#include#include#include#include#include#include#include#include#include#include#include
2015-07-20 10:06:06
645
原创 hdu 3746 (kmp)
主要是理解好kmp的next数组。如果 i%(next[i]-i)==0,就会出现循环串。主要思想是枚举长度I.n/i*i-next[n/i*i]=i必须成立。然后根据next数组判断多出来的那一段是不是属于循环串里面 。#include#include#include#include#include#include#include#include#include#inclu
2015-07-19 21:23:33
547
原创 hdu 2191 (多重背包的单调队列优化)
多重背包单调队列优化是思想是。普通的dp为dp[i][j]=max{dp[i-1][j-k*v[i]]+k*w[i]};其实你可以发现对能更新j是j和一个剩余类。也就是 0, v[i],2v[i],3v[i] ,4v[i]...1 ,1+v[i],1+2v[i],1+3v[i]...........v[i]-1,2*v[i]-1......更新值存在一个剩余类中,组与组
2015-07-17 13:12:53
1276
原创 POJ 2486 Apple Tree (树形dp)
这是一个树上的背包转移。注意要用dp[i][j][k]表示第i个节点用了j的路程是否回到i节点,k=0表示回到i点,k=1表示不回到i点。那么实际上就是树上的一个背包转移。#include #include #include #include #include #include #include #include #include #include #include #i
2015-07-16 15:05:55
603
原创 hdu 2829 dp+四边形不等式优化
用w[i][j]表示i到j之间没有边毁掉的费用。有一种很好证明w[i][j]是否满足四边形不等式的条件. 若(w[i+1][j]-w[i][j])是关于j的减函数,就是满足条件的。可以证明这里的w[i][j]是瞒住条件的。#include #include #include #include #include #include #include #include #
2015-06-29 18:32:42
631
原创 [HNOI2008]玩具装箱toy(dp+斜率优化)
斜率优化问题一般都是决策单调问题。对于这题可以证明单调决策。令sum[i]=sigma(c [k] ) 1 首先我们可以写出转移方程 dp[i] = min( dp[j] + (f[i]-f[j]-c)^2 ) 。令决策j1 dp[j2]+(f[i]-f[j2]-c)^2可以得带 ((dp[j2]+f[j2]^2)-(dp[j1]+f[j1]^2) )/(f[j2]-f[j1
2015-06-29 14:17:00
756
原创 最长公共子序列的另一类优化方法
最长公共子序列(LCS)是一个很经典的问题。 给2个字符串s1,s2,求LCS(s1,s2). 用d[i][j]]表示s1[1-i]和是s2[1-j]的LCS. if(s1[i]==s2[j]) d[i][j]=d[i-1][j-1]+1 else d[i][j]=max(d[i-1][j],d[I][j-1]).这是一个1D/1D的动态规划问题,复查度为O(n*n)。 考虑如下特
2015-06-27 18:32:30
615
原创 bzoj 1010 (单调决策优化)
可以很好的证明单调决策性质。用 记sum[i]=sigma(C[1],C[2].....C[k]);f[i]=sum[i]+i; c=l-1;有转移dp[i]=min( dp[j]+(f[i]-f[jk]-c)^2); 假死 有2个决策j#include #include #include #include #include #include #include #incl
2015-06-27 13:35:26
1042
原创 神龙的难题 (FZU 1686)
课重复覆盖的模板#include #include#include#include#include#include#includeusing namespace std;const int inf = 0x3fffffff;const int maxn = 15*15+10;const int maxnode = maxn*maxn;struct DLX{ in
2015-06-23 21:22:21
614
原创 scu oj 4439 : Vertex Cover(2015年四川省程序ACM设计竞赛D题 )
前面用搜索写了这题,其实这题也可以用DLX写的。#include #include#include#include#include#include#include#include using namespace std;const int maxn = 510;const int maxnode= 510*510*10;int U[maxnode],D[maxnode]
2015-06-23 21:20:02
1108
原创 Sudoku (DLX 算法)
用DLX来解决16*16 数独问题。#include #include#include#include#include#include#includeusing namespace std;const int maxn = 2010;const int maxnode = 20010;const int maxr = 5010;struct DLX{ int n,s
2015-06-22 19:37:55
823
原创 poj 3836 P2P File Sharing System
这题是一个模拟p2p的网络的一个题目。题意比较繁琐,只要看懂课,细心一点就很好AC了。直接上代码了,存模拟。#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int inf = 0x3fffffff;cons
2015-06-21 15:50:25
940
原创 HDU 2424-Gary's Calculator
表达式求值。 手动模拟吧。可以用站维护,这里我没用到栈来写。注意不能gets() 输入有换行。 还要用到高精度,套一个模板。#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace st
2015-06-21 15:47:05
725
原创 HDU 2940 Hex Factorial (简单高精度)
题意:求一n!的16进制表示的0的个数。高精度模拟,或者直接java即可。这里可以给一个高精度模板。#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const in
2015-06-21 15:44:05
856
原创 hdu 5274 数链剖分 /dfs+数状数组
注意 第一:点权为0.。。。 第 2:杭电扩展啊。。。 #pragma comment(linker, "/STACK:1024000000,1024000000")#include #include#include#include#include#includeusing namespace std;const int mmax = 100010;const int inf
2015-06-21 08:25:14
852
1
原创 scu oj 4439 : Vertex Cover(2015年四川省程序ACM设计竞赛D题 )
一般图的最小点覆盖问题是是一个npc问题,目前哈没有比较好的多项式的算法。但是这题有一点特殊的地方,每条边必定包含前面30个点的的一个,所以这题可以枚举钱30个点的选和不选的状态,后面的点对应的状态就唯一了。 所以这题就是 dfs+可行性减枝和答案最优减枝。#include#include#include#include#include#include#include#i
2015-06-18 14:23:14
2338
5
原创 scu oj 4437: Carries (2015年四川省程序ACM设计竞赛B题目 )
其实这题只要想到这个结论就简单了。如果2个数a,b的第k位相加要进位,那么必须满足(a%10^k+b%10^k)>=10^k .有了这个结论就很简单了,枚举没一位就好了。#include#include#include#include#include#include#include#include#include#includeusing namespace std;c
2015-06-16 13:24:02
2367
1
原创 scu oj 4445 Right turn 2015年四川省赛J题(模拟题)
一般的模拟题。对于出现过的每一个x建立一个set 集合,对于y也如此。然后查找要走到哪个点即可,主要要对状态记录,判断是否无线循环,否者出现无线循环的情况,就tle了。#include#include#include#include#include#include#include#include#include#includeusing namespace std;con
2015-06-15 17:21:52
1711
2
原创 scu oj 4441 Necklace 2015年四川省赛F题(dp+数据结构)
思路:y的可能性很少,只有10种类,枚举y的位子,然后X和Z分别是一个上升和下降序列,可以分处理处正向递减,逆向递增的最大权值和。然后枚举断点求最大值即可。可以用数状数组处理。#include#include#include#include#include#include#include#include#includeusing namespace std;const
2015-06-15 17:20:12
1557
原创 上海邀请赛 A题目 HDU 5236(dp)
先求出没有ctrl+s的时候构造长度为i的期望f[i] 。然后枚举保存的次数,求出最小即可。#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int mmax
2015-06-12 15:24:00
949
原创 swust oj 2516 教练我想学算术 dp+组合计数
#include#include#include#include#include#include#include#include#include//#define debugusing namespace std;const int inf = 0x3fffffff;const int mod = 1000000007;const int mmax = 1000010;
2015-06-08 20:42:00
705
原创 hdu 4419 矩形面积并
#include #include#include#include#include#includeusing namespace std;typedef __int64 LL;const int mmax = 20010;mapq;struct Rect{ LL x1,x2; LL y1,y2; char Col[2]; void read()
2015-06-05 21:00:41
592
原创 矩形面积并 (hdu1542)
#include #include#include#include#includeusing namespace std;const int mmax = 210;const double eps = 1e-8;int sgn(double x){ if(fabs(x)<eps) return 0; return x<0?-1:1;}struc
2015-06-04 21:41:23
523
原创 SPOJ - QTREE (树链剖分)
基础的树链剖分题目,不过是边权,可以向下映射成点权或者按边剖分。VIEW CODE#include #include#include#include#include#includeusing namespace std;const int mmax=10010;const int inf=0x3fffffff;struct edge{ int st,en,cos
2015-04-05 16:07:25
666
原创 poj 3882(Stammering Aliens) 后缀数组 或者 hash
后缀数组: 构建后缀数组,注意要在字符串莫末尾加上一个没出现过的字符。然后可以2分或者直接扫描,直接扫描需要用单调队列来维护VIEW CODE#include#include#include#include#include#include#include#include#include#include#include#include#includeusing n
2015-03-27 18:56:18
757
原创 poj 3294(Life Forms) 2分+ 后缀数组
我曾用字符串hash写,但是超时了。只能用后最数组了。大致思路:用不同的符号吧字符串连接起来,构建后缀数组,然后2分答案,依次扫描后缀数组,看是否瞒住条件。VIEW CODE#include#include#include#include#include#include#include#include#includeusing namespace std;const i
2015-03-27 15:11:19
703
原创 UVA - 12206 Stammering Aliens (hash)
这题其实很容易想到2分长度,关键是2分后,怎么判断出现最多次的串是否》=m次了。这里需要用到hash来处理。 对于一个字符串 H[i] =H[i+1]*131+s[i] ;其中 H[n]=0;那么对于一个长度为L的串 ,hanh[i,l]=H[i]-H[i+L]*x^L ; 这样记录每个字符串的hash值,然后再处理起来就比较简单了。VIEW CODE#include#includ
2015-02-05 16:11:54
665
原创 Ural 1277 cops ans thieves (最小割模型)
题目地址 :http://acm.timus.ru/problem.aspx?space=1&num=1277这里我们要拆点。把一个点拆成i,i' 。如何 i,j有边 ,在建边(i,j',inf),(j,i',inf)。 然后每个点点边(i',i,R[i])。这样建边以后,若要阻止 s到f的路径,那么必须破败一些边,那么我们为了是的边权最小,必须破坏边权小于inf的边,对应的就是图中拆点后的边
2015-02-04 15:39:49
1046
原创 spoj COCONUTS (最小割模型)
说一下建图过程, 虚拟源点 s, 汇点 t 。对于猜想本来是0的人i,建边(s,i,1) ,猜想为1的 建边(i, t, 1) 。对于是一对朋友的 ,建边(i,j,1) ,(j,i,1) 。由最小割的性质=最大流。故用dinic求一次最大流即可。VIEW CODE#include#include#include#include#include#include#include
2015-02-04 14:55:38
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人