这是前几天笔试时,考场上想出来的算法,但是算了两次都不一样,最后只好蒙了一个选项,悲催!
问题如下:
给定一个整数序列,例如 4,2,6,3,7,1 ,该序列有多少个递增子序列?
问题提出背景:在非结构化三角形网格生成过程中,若采用前沿推进法,在推进过程中是不好构造三角形的(而且也没有要),最好在把所有的边都连好以后再找出所有三角形,于是提出了问题:在由三角形构成的平面无向图中如何找出所有三角形?
网格如图:
要注意的是,这个无向图很特殊,
1.这个图在平面上。
2.这个图是由三角形构成的(如果不是由三角行构成,那这个网格就没有用处了)。
我的算法如下,伪代码表示:
foreach(点 p in所有的点){ foreach(点 np in p的所有邻居点){ foreach(点 nnpin np的所有邻居点){ if( p,np,nnp三点两两不重合 && p,np,nnp三点两两相连 && p==uniqPointOfTriangle(p,np,nnp) && uniqPointOf2Points(np,nnp)==np) ){ 输出p,np,nnp构成的三角形。 } } } } 算法的关键在于uniqPointOfTriangle( )和uniqPointOf2Points( )这两个函数。
(以前在bmy bbs发过一次)
这个方法试过在64位win7和32位winxp上可用。
1,首先安装codeblockes,必须选完全安装(Full,All plugins,…),路径可以选默认路径即 C:/Program Files/CodeBlocks
用于监控apache,如果退出就自动重启apache,原理是在如果apache退出,则apache的pid文件会被close,或触发attrib事件, 只要用inotify监控这个事件,然后重启apache,再重新监控pid文件即可。
LAMP环境的一般入侵,大致经过sql注入,上传webshell,本地提权至root,安装rootkit等步骤。
采用如下的配置,mod_chroot和单独分区挂载可以让本地提权变得极为困难,而mod-security可以封堵一般的sql注入等应用层攻击。