现在位置: 首页 > tuff发表的所有文章
  • 12月
  • 30日
综合 ⁄ 共 320字 评论关闭
欧拉函数,直接打表 #include<stdio.h> #include<string.h> #define N 3000000 int a[N],b[N]; int main() { int i,j,n,m; __int64 sum; for(i=2;i<N;i++) a[i]=i; for(i=2;i<N;i++) { if(b[i]==1)continue; a[i]=i-1; for(j=i+i;j<N;j=j+i) { b[j]=1; a[j]=a[j]/i*(i-1); } } while(scanf("%d%d",&n,&m)!=EOF) { sum=0; for(i=n;i<=m;i++) ......
阅读全文
  • 05月
  • 27日
综合 ⁄ 共 3082字 评论关闭
第6章 指针 未初始化和非法的指针         如果变量是静态的,它会被初始化为0;但如果变量是自动的,它根本不会被初始化。无论是哪种情况,声明一个指向整型 的指针都不会“创建”用于存储整型值的内存空间。         在对指针进行间接访问之前必须确保它们已被初始化! NULL指针         它作为一个特殊的指针变量,表示不指向任何东西。要使一个指针变量为NULL,可以给它赋一个零值。为了测试一个指针是否是NULL,可以将它与零值进行比较。 指针、间接访问和左值         指针可以作为左值,因为它们是变量。对指针变量进行间接访......
阅读全文
  • 05月
  • 20日
综合 ⁄ 共 1666字 评论关闭
要接受元素的放下,目标元素必须监听至少3个事件:   (1) 首先是dragenter事件,用来决定是否接受“拖动的元素”被放下,如果接受放下,那么该事件就被取消,进入下一个事件    (2)然后开始dragover事件,用来确定给用户什么样的反馈,即位于该元素之上时呈现什么样的效果,如果该事件被取消,反馈一般是一个鼠标指针,  也可以使用dropEffect属性定义,如果事件没有被取消,那么就是默认的行为,默认的行为一般就是什么也不做。     (3)最后是drop事件,也就是实际将执行的放下动作,这个事件也需要被取消,这样dropEffect属......
阅读全文
  • 05月
  • 09日
综合 ⁄ 共 5748字 评论关闭
一.什么是cookies?   大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件......
阅读全文
  • 04月
  • 23日
综合 ⁄ 共 1656字 评论关闭
这个题郁闷了。。。 卡了好长时间,不过还好过了。将不相邻的点分为一组,也就是横纵坐标相加为奇数的为一组,另外为一组,然后相邻的在两组中间连一条线,最后求最大匹配 code: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int dx[]={-1,0,1,0}; const int dy[]={0,-1,0,1}; struct node { int no,x,y; }left[52],right[52]; int n,m,k,cnt; bool graph[52][52]; bool map[102][102]; int No[102][102]; int lcnt,rcnt; bool vis[52]; int link[52]; bool fi......
阅读全文
  • 04月
  • 04日
综合 ⁄ 共 68字 评论关闭
具体请参考: http://www.cnblogs.com/akira90/archive/2013/03/10/2952886.html
阅读全文
  • 11月
  • 30日
综合 ⁄ 共 1020字 评论关闭
动态规划,用dp[i][j]记录当使用前i个硬币时是否可以达到价值j,可以则为1,反之为0; 用pre[i][j]记录当前第i个硬币是否在状态dp[i][j]中使用,是则为1,反之为0; 最后在寻找解时,如果pre[i][j]为1,则记录到ans(便于一起输出),反之则不断i--,则到pre[i][j]为1。 先对数据进行从大到小排序,保证最后的输出是smaller的,用下面的例子能更好的说明算法的思想。 input info 4 9 1 3 4 5 dp[i][j] info 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 pre[i][j] info 0 0 0 0 1 0 0 0 0 0 0 0 1 0......
阅读全文
  • 11月
  • 21日
综合 ⁄ 共 2430字 评论关闭
题目大意:强制在线区间无修改逆序对。 思路:看到数据范围发现分块是很显然的。预处理了很多东西,比如说每个块里面的逆序对个数,还有f[i][j]表示从第i块到第j块的逆序对个数。如果仅仅处理到这里的话,后面是不太好处理的。我们还需要一个东西,是每个点对每个块的逆序对个数,并取前缀合优化。否则的话就得用主席树来乱搞,那常数 反正总时间复杂度大概是O(n*sqrt(n)*logn)  强行不到O(n^2) 剩下就是小事了, 比如离散话啥的。。 CODE: #include <cmath> #include <cstdio> #include <cstring> #includ......
阅读全文
  • 11月
  • 09日
综合 ⁄ 共 5024字 评论关闭
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。       也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译这个函数名时会把fun这个名字变得面目全非,可能是fun@aBc_int_int#%$也可能是别的,这要看编译器的"脾气"了(不同的编译器采用的方法不一样),为什......
阅读全文
  • 10月
  • 28日
综合 ⁄ 共 23字 评论关闭
看待一张很好的图解vim命令的图片,转给大家!
阅读全文
  • 10月
  • 13日
综合 ⁄ 共 557字 评论关闭
BOOL CMeDlg::OnInitDialog() { CDialog::OnInitDialog(); // Set the icon for this dialog. The framework does this automatically // when the application's main window is not a dialog SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, FALSE); // Set small icon // TODO: Add extra initialization here CString szText; GetModuleFileName(NULL,szText.GetBuffer(PATH_MAX + 1),PATH_MAX); szText.ReleaseBuffer(); // AfxGetMainWnd()->SetWindowText(szText); MessageBox(szText + " ......
阅读全文
  • 10月
  • 12日
综合 ⁄ 共 1042字 评论关闭
题目大意: 如果一组数据 1.只有唯一的根节点 2.除根节点外的每一个点都有上级 3.图中没有环状物(看上去没有环) 那么就是一棵树,否则不是。 那么仔细想想,只要点的数目==边的数目-1 && 每个点没有两个上级 就成立。 我们可以抛弃并查集的结构,,,只需记录每个点的存在性以及上级的有无就可以判断所有。 然后是存储的方式。。 一开始写的递推。。。莫名原因错了。 果断改了数组储存每条边。。 果断AC #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; #define MAX......
阅读全文