分类 技术相关 下的文章

配置instantclick支持prism高亮与mathjax

由于instantclick实现的是PJAX,headfooter之间的内容并不会更新,而这一部分我加载了渲染代码高亮的prism.jsMathjax以及谷歌的analytics.js,所以貌似除了Google其他的js都不会正常加载,根据instantclick官网的说明,只需要改动一下绑定的事件即可,加载instantclick的部分修改为如下

- 阅读剩余部分 -

P2P局域网快速分发大文件

情景

教学环境中局域网分发大文件(如镜像),单文件体积在10G+,如果从某一服务端分发单文件传输虽然可以达到100M/s以上,但是对于网络稳定性要求较高,而且如果并发速度并不理想。同时由于网络环境较为复杂,存在着非同一交换机下的数据传输需求,所以这种C/S模式并不能满足大文件快速分发的要求。

所以希望通过P2P相关技术来使得服务器本身不再是制约因素,传输过程依赖于网络中所有参与者的计算能力以及网络带宽。

本文主要内容参考了P2P技术在大文件共享中的应用研究.pdf

P2P相关技术

分类

  • 集中式P2P网络:有节点保存索引信息
  • 分布式P2P网络:利用flooding,节点较为松散
  • 混合式P2P网络

基于实际情况,我们使用Bit-Torrent来实现混合式P2P网络

- 阅读剩余部分 -

基于本地PAC的国外流量加速代理

因为学校教育网的原因,许多时候打开国外地址需要手动切换免费地址收费地址,不仅麻烦而且会很容易忘记关收费地址记性差怪我咯,所以使用两台服务器完成PAC的自动代理。其实也跟协议有关咯,此处不细说,就是想不用sock5。原理图如下:

- 阅读剩余部分 -

博客新文章自动分享到微博

网上有插件但是感觉对https的资次都很捉急所以也懒得用,同时不是很安全,使用了张戈博客的方法和源代码来配置,要注意的地方是最好在线修改保证为UTF-8格式,functions.php改挂了就直接500了,所以最好先备份一下。

下面是我当前采用的,直接复制即可

- 阅读剩余部分 -

【cf482A】Diverse Permutation

求n的一个全排列,使其两两之间存在K种差值
题目倒不难也不难理解,做的时候没有想到Orz

让前k+1项差值为1到k,后面的差值全为1即可构造出符合条件的全排列

放黄学长code,原文【贪心/构造】AHSOFNU 新生训练 by hzwer

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#define mod 1000000007
#define ll long long 
using namespace std;
int read()
{
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
int t1,t2;
int n,k,now;
int a[100005];
int main()
{
    n=read();k=read();
    for(int i=1;i<=n;i++)a[i]=i;
    k++;
    now=0;
    if(k&1)
    {
        t1=t2=a[++now]=(k+1)/2;
        t1--;t2++;
    }
    else t1=k/2,t2=t1+1;
    for(int i=1;i<=k/2;i++)
        a[++now]=t1,a[++now]=t2,t1--,t2++;
    for(int i=1;i<=n;i++)printf("%d ",a[i]);
    return 0;
}

最新文章

最近回复

分类

归档

其它

微博

基佬们

Fork me on GitHub