<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zyhsdl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zyhsdl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zyhsdl]]></copyright><item><title><![CDATA[数星星]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166601</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166601</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:32:32 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int MAXN=200005;
struct star
{int x,y;
 int left,right,up,down;
 int xsmall,xlarge,ysmal]]></description><category></category></item><item><title><![CDATA[奶牛的狂欢节]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166569</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166569</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:30:50 +0800</pubDate><description><![CDATA[注意如何用较快方法处理距离
#include
#include
#include
using namespace std;


int sum[1000][1000];
int n,t;
int c(int x)
{   return x&(x^(x-1));
}
void change(int x,int y,int add)
{int ty=y; 
   while]]></description><category></category></item><item><title><![CDATA[矩阵的操作]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166539</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166539</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:28:43 +0800</pubDate><description><![CDATA[#include
#include
#include
using namespace std;


int sum[1000][1000];
int n,t;
int c(int x)
{   return x&(x^(x-1));
}
void change(int x,int y,int add)
{int ty=y; 
   while(x
    { y=ty;]]></description><category></category></item><item><title><![CDATA[树状数组求逆序对666]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166525</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166525</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:27:43 +0800</pubDate><description><![CDATA[#include
  #include
  #include
  using namespace std;
  const int N=500010;
  #define LL __int64
  int c[N],b[N],n;
  struct node{
      int val,pos;
     bool operator 
         return val]]></description><category></category></item><item><title><![CDATA[树状数组的模版]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166515</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166515</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:26:47 +0800</pubDate><description><![CDATA[#include
#include
#include
using namespace std;
int a[1000];
int sum[1000];
int n;
int c(int x)
{   return x&(x^(x-1));
}
void change(int x,int add)
{    while(x
    {sum[x]=sum[x]+add;
 ]]></description><category></category></item><item><title><![CDATA[noip2015pj t4]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/50166431</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/50166431</guid><author>zyhsdl</author><pubDate>Thu, 03 Dec 2015 21:20:09 +0800</pubDate><description><![CDATA[由于前三题都太水所以懒的写题解。最后一题还是蛮有意思的，虽然数据也很水，我用了一种倒过来的贪心。先做出全部选的状态，再删去一个使得减少的最少，以此类推。每次删去有两种策略，删除最远的点和堆中最小的点（堆里各个点的大小顺序始终不变的）复杂度为nlog2n；但是我没证明为什么选4个的最优解一定包含了选3个的最优解虽然反过来做的时候感觉这是理所当然的。。。
这里写代码：#include
#inclu]]></description><category></category></item><item><title><![CDATA[lca]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/49587311</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/49587311</guid><author>zyhsdl</author><pubDate>Mon, 02 Nov 2015 15:46:46 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define pb push_back
using namespace std;
int n,m;
bool  vis[10005]]]></description><category></category></item><item><title><![CDATA[逆序对的dp]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/49586025</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/49586025</guid><author>zyhsdl</author><pubDate>Mon, 02 Nov 2015 14:26:37 +0800</pubDate><description><![CDATA[求逆序对：关于逆序对的DP（和归并没半毛关系）


1ff 

我们说（i，j）是a1，a2，…，aN的一个逆序对当且仅当ia j。例如2，4，1，3，5的逆序对有3个，分别为（1，3），（2，3），（2，4）。现在已知N和K，求1…N的所有特定排列，这些排列的逆序对的数量恰好为K。输出这些特定排列的数量。
例如N=5，K=3的时候，满足条件的排列有15个，它们是：
1，2，5，4，]]></description><category></category></item><item><title><![CDATA[强联通分量]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/49431333</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/49431333</guid><author>zyhsdl</author><pubDate>Mon, 26 Oct 2015 23:03:05 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Edge
{ int to,va,va2;
};vector a[80005],b[80005],node[80005];
int he[80005];
int n,m,t=]]></description><category></category></item><item><title><![CDATA[noip2013day2]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/48810009</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/48810009</guid><author>zyhsdl</author><pubDate>Tue, 29 Sep 2015 19:10:32 +0800</pubDate><description><![CDATA[严重感觉出题人脑子有问题。。。前两题几乎一毛一样。。都是找峰和谷。。200分轻松拿下。。加上第一题的260貌似已经够大浙江的一等线了、、。第三题看着感觉很麻烦。。。似乎爆搜拿不到几分。。。加上上午要去看sdl比赛。。。只打了一个多小时（day1不过打了2个小时） 所以就抱着玩一下的心态写了一个骗分，，顺利拿到5分。。。
1刚刚说了找峰和谷然后自己找规律乱搞了一下加加减减。。。
#include]]></description><category></category></item><item><title><![CDATA[noip2013]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/48789821</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/48789821</guid><author>zyhsdl</author><pubDate>Mon, 28 Sep 2015 20:33:55 +0800</pubDate><description><![CDATA[noip2013一开始打了260分。。。感觉最后一题实在太麻烦考试的时候也写不出来，，，打个60分也不错了。
1.一开始被数据吓了一跳。。。然后想到肯定是快速幂。但我有点脑残的先用gcd求了一个循环节。其实只要mod m就可以了脑残脑残。还要提醒一下能不用mod尽量不用。mod的常数真的很大。
代码：#include
#include
#include
 using namespace ]]></description><category></category></item><item><title><![CDATA[codevs姓名与id]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/48448887</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/48448887</guid><author>zyhsdl</author><pubDate>Mon, 14 Sep 2015 22:53:47 +0800</pubDate><description><![CDATA[有N个人，各自有一个姓名和ID（别名）。每个人的姓名和ID都没有重复。这些人依次进入一间房间，然后可能会离开。过程中可以得到一些信息，告知在房间里的某个人的ID。你的任务是准确地确定每个人的ID。




输入描述 Input Description

第一行是整数N，表示N个人，N
接下来的一行是N个人的ID，用一个空格分隔。
接下来的若干行是过程的记录：一个字母和一个字符串。]]></description><category></category></item><item><title><![CDATA[list4]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47668187</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47668187</guid><author>zyhsdl</author><pubDate>Fri, 14 Aug 2015 21:48:28 +0800</pubDate><description><![CDATA[#include 
#include 
bool single_digit ( int value) { return (value


// a predicate implemented as a class:
struct is_odd {
  bool operator() ( int value) { return (value%2)==1; }
};

int ma]]></description><category></category></item><item><title><![CDATA[list3]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47668097</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47668097</guid><author>zyhsdl</author><pubDate>Fri, 14 Aug 2015 21:42:01 +0800</pubDate><description><![CDATA[插入要记牢是插入在某个元素之前
#include 
#include 
#include 


int main ()
{
  std::list mylist;
  std::list::iterator it;


  // set some initial values:
  for (int i=1; i


  it = mylist.begin();
]]></description><category></category></item><item><title><![CDATA[list2]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47668031</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47668031</guid><author>zyhsdl</author><pubDate>Fri, 14 Aug 2015 21:37:34 +0800</pubDate><description><![CDATA[erase操作可以删除区间（左闭右开）也可以删除单个，但是在删除区间的时候it默认向后加1（当然你也可以不去接受他返回的值）
#include 
#include 
#include
using namespace std
int main ()
{
  std::list mylist;
  std::list::iterator it1,it2;


  // set s]]></description><category></category></item><item><title><![CDATA[list]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47668015</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47668015</guid><author>zyhsdl</author><pubDate>Fri, 14 Aug 2015 21:34:31 +0800</pubDate><description><![CDATA[//一下是一些最基本的操作
#include 
#include 
#Include
using namespace std;
int main( ) 
{
   using namespace std;
   list c1, c2;
   list::const_iterator cIter;
   
   c1.push_back( 10 );
   c1.push_]]></description><category></category></item><item><title><![CDATA[最短路]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47445293</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47445293</guid><author>zyhsdl</author><pubDate>Wed, 12 Aug 2015 15:22:04 +0800</pubDate><description><![CDATA[1062 路由选择






 时间限制: 1 s


 空间限制: 128000 KB


 题目等级 : 钻石 Diamond





题解















#include
#include
#include
#include
#include
#include
#include
using namesp]]></description><category></category></item><item><title><![CDATA[最短路]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47445085</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47445085</guid><author>zyhsdl</author><pubDate>Wed, 12 Aug 2015 15:13:25 +0800</pubDate><description><![CDATA[1243 网络提速






 时间限制: 1 s


 空间限制: 128000 KB


 题目等级 : 黄金 Gold





题解











题目描述 Description

某学校的校园网由n(1
现学校购买了m(1




输入描述 Input Description

第一行先输入n,]]></description><category></category></item><item><title><![CDATA[vector]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47342651</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47342651</guid><author>zyhsdl</author><pubDate>Fri, 07 Aug 2015 17:32:17 +0800</pubDate><description><![CDATA[关于vector的用法未完待续。。。。


//v.begin()相当于下标为v[0]的地址 ，v.end()是次容器最后一个元素的下一个元素的地址，返回类型都是指针stl容器大都是； 左闭右开； 
#include
#include
#include


using namespace std;
void build1()
{vector v;
  vector u(v)]]></description><category></category></item><item><title><![CDATA[第四题]]></title><link>https://blog.youkuaiyun.com/zyhsdl/article/details/47315833</link><guid>https://blog.youkuaiyun.com/zyhsdl/article/details/47315833</guid><author>zyhsdl</author><pubDate>Thu, 06 Aug 2015 14:01:38 +0800</pubDate><description><![CDATA[最优分解方案
 [问题描述]
经过第一轮的游戏，不少同学将会获得NOIP2012特别礼物，但这时细心的数学课代表发现了一个问题：留下来的人太多而使礼物数量可能不够，为此，加试了一道数学题：将一个正整数n分解成若干个互不相等的正整数的和，使得这些数的乘积最大，当主持人报出一个n后，请你立即将这个最大值报出来，现请你帮你的好友编一个程序来解决这个问题。
[输入文件]
输入文件中只有1个数n（其]]></description><category></category></item></channel></rss>