自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高质量椭圆检测库

该库适用于边界清晰的椭圆检测、最好需要检测的的椭圆的大小在 200 * 200 像素以上,太小可能会有漏检,所以称之为标准椭圆检测。

2023-05-31 12:31:51 1029

原创 一个基于 go 实现的轻量级任务调度框架

随着任务类型的越来越多,copy 代码的方式效率低下,且容易改出问题,这时候需要一个任务调度框架,既能够统一任务调度的流程,也能够适应差异。开发者只需要实现自己的任务容器接口和任务执行器接口,用任务容器和任务执行器创建任务调度器,即可轻易的实现任务调度。任务流部分的代码脱敏以后,后续也会开源。有一个计算 a+b 的服务,由于该 a+b 是一种新的高维空间的计算规则,计算非常耗时耗资源,所以该服务设计成为异步的。任务的是否可持久化,通俗来说,就是任务执行完成以后,是否还能查询到任务相关的信息和记录。

2023-04-24 22:52:08 1924 1

原创 欢迎使用CSDN-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 466

原创 实习日志(1)初识flex & bison (计算器的设计)

我怎么也没想到来公司了竟然是做编译原理相关的工作。  毕竟没有学过编译原理 ,看到正则表达式就晕了。T_T刚刚拿到flex & bison 这本书的时候 感觉一头雾水,完全知道干什么的。第一天看了词法分析工具flex。直接用flex写出统计单词,行数,字符数的程序,比起直接用C++去模拟,简单的多了。顿时就感觉这个东西好叼。然后就看到了bison 这个这个东西, 后来才懂flex & biso

2015-12-17 22:04:18 2037

原创 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 1667

原创 swust 2014届选拔赛 题解

传送门:http://www.oj.swust.edu.cn/contest/show/1160

2015-08-19 17:00:48 699

原创 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 1408

原创 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 1875

原创 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 708

原创 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 965

原创 快速数论变换模板(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 4393 1

原创 POJ 1486 (2分匹配 必须变判断)

建图很好想到,主要是后面判断这条匹配边是不是必须变。 只需要吧当前这个匹配拆开,并且在图中吧这条边去掉。对对于左边的点去找增光路,如果不能找到,说明就是匹配必须边。#include#include#include#include#include#include#include#include#include#include#include#include#include

2015-07-20 10:06:06 625

原创 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 517

原创 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 1243

原创 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 581

原创 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 602

原创 [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 731

原创 最长公共子序列的另一类优化方法

最长公共子序列(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 584

原创 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 1000

原创 神龙的难题 (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 580

原创 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 1067

原创 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 765

原创 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 893

原创 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 694

原创 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 824

原创 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 816 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 2301 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 2297 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 1683 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 1527

原创 上海邀请赛 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 925

原创 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 687

原创 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 567

原创 矩形面积并 (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 496

原创 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 634

原创 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 718

原创 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 674

原创 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 630

原创 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 1010

原创 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 680

空空如也

空空如也

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

TA关注的人

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