比较简单的树形dp;

定义s[i]为节点i的子树节点数和(包括自身);叶子节点s[j]=1;

s[i]=signma(s[k])+1 (k是i的孩子)

则i满足的条件是 1.s[k]<=n div 2  (k为所有孩子节点)

2.n-s[k]<=n div 2;

由于n比较大,可以考虑用前向星来存储,这题想明白了还是很简单的,最后注意满足条件的节点升序输出;

  1. type link=^node;
  2.      node=record
  3.        data:integer;
  4.        next:link;
  5.      end;
  6. var c:array[..] of link;
  7.     f,a:array[..] of boolean;
  8.     s:array[..] of longint;
  9.     i,n,x,y:integer;
  10.     w:boolean;
  11.     r:link;
  12. procedure add(x,y:integer);    //前向星
  13.   var p:link;
  14.   begin
  15.     new(p);
  16.     p^.data:=y;
  17.     p^.next:=c[x];
  18.     c[x]:=p;
  19.   end;
  20. procedure treedp(x:integer);
  21.   var ch:boolean;
  22.       i:integer;
  23.       r:link;
  24.   begin
  25.     ch:=true;
  26.     s[x]:=;
  27.     f[x]:=true;
  28.     r:=c[x];
  29.     while r<>nil do
  30.     begin
  31.       if not f[r^.data] then
  32.       begin
  33.         f[r^.data]:=true;                    //前向星是图结构,这里的标记是建立从父节点到子节点的关系
  34.         treedp(r^.data);
  35.         if s[r^.data]>n div then ch:=false;   
  36.         inc(s[x],s[r^.data]);
  37.       end;
  38.       r:=r^.next;
  39.     end;
  40.     if (n-s[x])>n div then ch:=false;
  41.     if ch then a[x]:=true;
  42.   end;
  43. begin
  44.   readln(n);
  45.   for i:= to n- do
  46.   begin
  47.     readln(x,y);
  48.     add(x,y);
  49.     add(y,x);
  50.   end;
  51.   fillchar(f,sizeof(f),false);
  52.   fillchar(a,sizeof(a),false);
  53.   treedp();               //生成树任意一个节点都可以作为根节点
  54.   w:=false;
  55.   for i:= to n do
  56.   begin
  57.     if a[i] then
  58.     begin
  59.       w:=true;
  60.       writeln(i);
  61.     end;
  62.   end;
  63.   if not w then writeln('NONE');
  64. end.

poj2478的更多相关文章

  1. 【poj2478】 Farey Sequence

    http://poj.org/problem?id=2478 (题目链接) 题意 求分母小于等于n的真分数的个数. Solution 现在只能做做水题了,唉,思维僵化. 细节 前缀和开LL 代码 // ...

  2. POJ2478 Farey Sequence —— 欧拉函数

    题目链接:https://vjudge.net/problem/POJ-2478 Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K To ...

  3. poj2478(欧拉函数)

    题目链接:https://vjudge.net/problem/POJ-2478 题意:给定n,输出集合中元素的数量,集合中的元素为最简小于1的分数,分子分母均属于[1,n-1]. 思路:理清题意后就 ...

  4. poj2478 Farey Sequence (欧拉函数)

    Farey Sequence 题意:给定一个数n,求在[1,n]这个范围内两两互质的数的个数.(转化为给定一个数n,比n小且与n互质的数的个数) 知识点: 欧拉函数: 普通求法: int Euler( ...

  5. 【poj2478】Farey Sequence

    题意: 求前n项的欧拉函数之和 题解: 预处理出所有欧拉函数 赤裸裸的模版题- - 没什么好说的 代码: #include <cstdio> typedef long long ll; ; ...

  6. POJ2478 - Farey Sequence(法雷级数&&欧拉函数)

    题目大意 直接看原文吧.... The Farey Sequence Fn for any integer n with n >= 2 is the set of irreducible rat ...

  7. 【POJ2478】Farey Seque

    题意: 就是求2~n的所有欧拉函数值的和,这里就用到了快速求欧拉函数的方法.(不能暴力求了,不然必定TLE啊) 说说欧拉筛法,感觉十分机智啊~~ 对于上述代码的几个问题: 1.问:为什么i%prime ...

  8. poj2478 Farey Sequence 欧拉函数的应用

    仔细看看题目,按照题目要求 其实就是 求 小于等于n的 每一个数的 欧拉函数值  的总和,为什么呢,因为要构成 a/b 然后不能约分  所以 gcd(a,b)==1,所以  分母 b的 欧拉函数值   ...

  9. POJ2478(SummerTrainingDay04-E 欧拉函数)

    Farey Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16927   Accepted: 6764 D ...

随机推荐

  1. IIs上MP4、及SVG格式加载失败解决方式

    部署项目是遇到网页播放mp4文件时候,MP4文件不能加载的问题.那是因为IIS上MIME类型中没有添加MP4的格式,添加一下即可. 解决方案: 1.在IIS上选中你的网站,然后点击右边的MIME类型, ...

  2. CSS溢出文本省略(text-overflow)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Mysql编辑工具中使用(Navicat查询结果显示行号)

    Mysql编辑工具中使用(Navicat查询结果显示行号) as rownum,a.roleId ) t where a.roleId='admin';

  4. Linux下vsftp服务器—上传、下载

    一.  FTP 说明 Linux下常用的FTP Server是vsftp(Very Security File Transfer Protocol),及profpt(Professtional ftp ...

  5. 2、[转]WPF与WinForm的比较

    http://www.cnblogs.com/KnightsWarrior/archive/2010/07/09/1774059.htmlhttp://www.cnblogs.com/zenghong ...

  6. linux配置JDK(转载)

    转载自:http://blog.csdn.net/xinxin19881112/article/details/46816385 Linux CentOS 6.6安装JDK1.7 目录 1.下载JDK ...

  7. [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(三)

    使用特殊方法处理请求生命周期事件 为了在全局应用类中处理这些事件,我们会创建一个名称以 Application_ 开头,以事件名称结尾的方法,比如 Application_BeginRequest.举 ...

  8. 【BZOJ1305】 [CQOI2009]dance跳舞

    Description 一次舞会有n个男孩和n个女孩.每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞.每个男孩都不会和同一个女孩跳两首(或更多)舞曲.有一些男孩女孩相互喜欢,而其他相互不喜欢(不会 ...

  9. 在树莓派上 搭建sqlite数据库

    最近找工作需要学习一些数据库方面的知识,所以就在实验室的树莓派上准备装个数据库试试,刚开始准备装一个mysql数据库,出现了很多问题,放弃了,后来查了一些资料原来还有很多可以用的小巧实用的数据库,sq ...

  10. 1028: [JSOI2007]麻将 - BZOJ

    Description 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西.北.中.发.白七种)和序数牌(分为条子.饼子.万子三种花色,每种花色各有一到九的九种牌),每种牌各四张.在 ...