<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jasison]]></title><description><![CDATA[一直在努力]]></description><link>https://blog.youkuaiyun.com/jasison</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jasison]]></copyright><item><title><![CDATA[自动生成ACM-ICPC模版的Latex版本]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/45643103</link><guid>https://blog.youkuaiyun.com/jasison/article/details/45643103</guid><author>jasison</author><pubDate>Mon, 11 May 2015 13:34:47 +0800</pubDate><description><![CDATA[Github地址：ACM-ICPC-Code-Template-Latex
首先你要有：你自己的ACM-ICPC模版库，Latex发行版软件。
然后你可以：生成一个漂亮的pdf文件，里面是你的模版。
效果图：template.pdf
用法：Linux用户直接make就可以了（如果没有安装latex，安装一下texlive-full就okay）；Windows用户编译运行main.cpp之后]]></description><category></category></item><item><title><![CDATA[hdu 4578 Transformation [线段树 区间更新]]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/33734211</link><guid>https://blog.youkuaiyun.com/jasison/article/details/33734211</guid><author>jasison</author><pubDate>Mon, 23 Jun 2014 15:24:42 +0800</pubDate><description><![CDATA[题意:
一个长度为n的数列a，初始全为0，对这个数列进行m个操作，操作格式如下：
op x y c
op=1: a[i] += c, i=x,x+1,...,y
op=2: a[i] *= c, i=x,x+1,...,y
op=3: a[i] = c, i=x,x+1,...,y
op=4: 输出sum=a[x]+a[x+1]+...+a[y]
思路:
考虑用线段树，对set，m]]></description><category></category></item><item><title><![CDATA[LightOJ 组合游戏 SG函数 SG定理 1199 1296 1315 1229 1401]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/27372913</link><guid>https://blog.youkuaiyun.com/jasison/article/details/27372913</guid><author>jasison</author><pubDate>Wed, 28 May 2014 20:24:55 +0800</pubDate><description><![CDATA[SG函数与SG定理练手的题目。
1. LightOJ 1199 - Partitioning Game
题意：有n堆石子(1
一次操作可以使一堆石子变成两堆数目不相等的石子，
最后不能操作的算输，问先手胜还是后手胜。
思路：n堆石子相互独立，所以可以应用SG定理，只需要算出一堆石子的SG函数。
一堆石子（假设有x个）的后继状态可以枚举出来，分别是{1,x-1},{2,x-2},...,]]></description><category></category></item><item><title><![CDATA[Codeforces Round #243 425B 425D]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/25391339</link><guid>https://blog.youkuaiyun.com/jasison/article/details/25391339</guid><author>jasison</author><pubDate>Fri, 09 May 2014 14:21:25 +0800</pubDate><description><![CDATA[十分有趣的两道题目，425D据说是]]></description><category></category></item><item><title><![CDATA[USACO 4.3 The Primes]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/24056575</link><guid>https://blog.youkuaiyun.com/jasison/article/details/24056575</guid><author>jasison</author><pubDate>Fri, 18 Apr 2014 22:48:24 +0800</pubDate><description><![CDATA[题意：
给两个值，sum和head，求出所有]]></description><category></category></item><item><title><![CDATA[USACO 4.3 PROB Buy Low, Buy Lower]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/23970259</link><guid>https://blog.youkuaiyun.com/jasison/article/details/23970259</guid><author>jasison</author><pubDate>Thu, 17 Apr 2014 23:22:47 +0800</pubDate><description><![CDATA[题目意思：
给n个数，要求最长的递减子序列，并求出个数
例如，对于序列]]></description><category></category></item><item><title><![CDATA[zoj 3772 Calculate the Function monthly 14th]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/23057303</link><guid>https://blog.youkuaiyun.com/jasison/article/details/23057303</guid><author>jasison</author><pubDate>Sun, 06 Apr 2014 23:58:44 +0800</pubDate><description><![CDATA[题意：
给一个数组A[1,2,...,n]和m个查询l,r
对于每一个查询，
F[l] = A[l]
F[l+1] = A[l+1]
F[x] = F[x-1] + A[x]*F[x-2], x >= l+2
求F[r]。
1 
1 
每一步骤均对 MOD = 10^9+7 取模


方法一：复杂度O(n+m*log(MOD))
看到递推公式，不难想到递推公式
[F[n]]></description><category></category></item><item><title><![CDATA[soj 2013 weekly-5 暨校赛模拟III 7966-7974]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8817142</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8817142</guid><author>jasison</author><pubDate>Thu, 18 Apr 2013 09:39:31 +0800</pubDate><description><![CDATA[本来不打算写这个的，因为当时一个人A了五道水题感到很凄凉，可是bbs上还没发解题报告= =
我好懒= =比赛过后都懒得再想题目= =...
7966
当时看到Special Judge就没看了，结果- - ...
7967
题意：是说要把一堆给了宽度的书（50本）弄成宽度不递减的样子，一本书能被抽出放到最顶上当且仅当上面的书是宽度不递减的。问最少需要多少次操作才能完成。
思路：
首先]]></description><category></category></item><item><title><![CDATA[codeforces Round #179 (Div. 2) 296A 296B 295A 295B 295C]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8791248</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8791248</guid><author>jasison</author><pubDate>Fri, 12 Apr 2013 02:23:12 +0800</pubDate><description><![CDATA[296A 

题意：给一个数列（N），问这个数列能不能通过有限次相邻数的交换使得数列任意两个相邻的数都不相同
思路：数列的每一个排列都是可以达到的，所以，每个数出现次数大概都不多于一半就行。
296B [组合数学]

题意：定义两个长度相等的数字串s和t，如果在某一位i有s[i] > t[i]，但是在另一位j有s[j] 
思路：用排差法，假设，对于每一位，s[i] > t[i] 的可]]></description><category></category></item><item><title><![CDATA[codeforces 283A. Cows and Sequence [线段树-区间更新]]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8780293</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8780293</guid><author>jasison</author><pubDate>Tue, 09 Apr 2013 22:23:07 +0800</pubDate><description><![CDATA[题意：
对一个初始有1个元素0的 序列进行三种动态操作：
1. 前k个元素都加X
2. 在序列后增加一个元素X
3. 删除序列最后一个元素
要求每次操作后输出序列的平均值，保证每次操作后队列至少有1个元素，操作数少于20 0000次
思路：注意第一种操作是对前k个元素都加X，而第三种操作是删除最后一个元素，那么不可能简单地模拟了。于是用线段树，这里用到区间更新。
第一种操作，对1~k]]></description><category></category></item><item><title><![CDATA[soj 2013 weekly-4 暨校赛模拟II 7904-7911]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8773021</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8773021</guid><author>jasison</author><pubDate>Mon, 08 Apr 2013 16:34:30 +0800</pubDate><description><![CDATA[首先说一下感受吧，适合组队做，但是一个队友因为要写实验报告没时间，于是我和另一个队友分开在宿舍做的，我负责偶数题。总体感觉代码量略大略大=。= 除了1001这道题目看都没看，剩下的感觉还是很有思路的，就是不对~
1000
题意：经典的24点问题，不过是问能得到的最长的连续数字起终点。
思路：深搜出所有的结果，放入set中，再遍历一遍找出最长段。
#include 
#include 
us]]></description><category></category></item><item><title><![CDATA[ural 1470 UFOs [树状数组]]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8772891</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8772891</guid><author>jasison</author><pubDate>Mon, 08 Apr 2013 15:58:40 +0800</pubDate><description><![CDATA[题意：
对（0，0，0）到（128，128，128）的三维空间进行三种操作：（1）在点（x，y，z）增加V（可能为负）；（2）查询（x1，y1，z1）到（x2，y2，z2）的数量和；（3）退出
三种操作是实时的。
思路：
可以向上一题一样采用线段树，但是需要三重线段树，编程复杂度有点高，于是简单的树状数组，查询的时候用差值。树状数组这里讲得比较清楚：click me

#include]]></description><category></category></item><item><title><![CDATA[ural 1028 Stars [线段树]]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8768869</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8768869</guid><author>jasison</author><pubDate>Sun, 07 Apr 2013 18:04:20 +0800</pubDate><description><![CDATA[题意：给n个星星的坐标（x,y），其中1 ≤ N ≤ 15000，0 ≤ X,Y ≤ 32000，定义星星的等级为在它的左下方的星星的数目（横纵坐标均可相等），要求输出等级为0~n-1的星星的数目
思路：首先不可能暴力两重循环，自然是线段树。由于给的星星是按照纵坐标的升序排列的，只要一维地对x做处理就行了。
线段树跟堆好像23333~

#include 
#include 
struct]]></description><category></category></item><item><title><![CDATA[ural 1013 K-based Numbers. Version 3]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765486</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765486</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:45:16 +0800</pubDate><description><![CDATA[题意：K-based Numbers. Version 3系列3~ 题意不多说，跟前两个系列一个意思。。。只不过要高精度了
发现一个很叼的现象。。。ural上加system("pause")不影响测评啊。。。好像poj上也不影响。。。。。？
还发现一个很叼的事情。。。Virtual Judge就是开了五个ID：Huang HanSheng，Zhang YiDe，。。。。啊。。。。好叼啊。。。。]]></description><category></category></item><item><title><![CDATA[ural 1011 Conductors]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765471</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765471</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:41:22 +0800</pubDate><description><![CDATA[题意：（差点没看懂题目。。。囧）前面那个好像是说那句话有两种理解。。。一种是。。。售票员在公共汽车上裸奔？还有一种是。。。。？。。。（无关紧要- -）
给精确到0.01的p和q，求最小的i，使得存在整数x，i*p 
思路：（这道题我WA了好多次我会说麽。。。）我还是不晓得怎么弄精度的东西。。。希望高人指点啊。。。我的做法是。。。由于p和q是精确到0.01，我就把p和q都扩大到100倍。。。这样]]></description><category></category></item><item><title><![CDATA[ural 1008 Image Encoding]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765469</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765469</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:36:47 +0800</pubDate><description><![CDATA[题意：给一幅图的两种编码方式，现在任意给出一种编码方式，求另一种编码方式
思路：广搜。。。
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

struct Point
{
	int x, y;
	Point() {}
	Point(int _x, int _y)]]></description><category></category></item><item><title><![CDATA[ural 1007 Code Words]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765453</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765453</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:35:08 +0800</pubDate><description><![CDATA[题意：一个01信号串在经过某通道的时候会有如下几种可能的变化
（1）不变
（2）一个（仅一个）0变成1
（3）在某个位置删掉一个（仅一个）符号
（4）在某个位置增加一个（仅一个）符号
并且原信号串必须满足 符号为1的位置和 模 (len+1) 为 0。
例如1010，符号为1的位置有1和3，加起来等于4，模len+1=5的结果不是0，所以不可能是原信号串。

现在给原信号串的长度和]]></description><category></category></item><item><title><![CDATA[ural 1005 Stone Pile]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765440</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765440</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:30:17 +0800</pubDate><description><![CDATA[题意：给n（n 
思路：把这20个石头看成一个集合，张成子集即可，假设20个石头的重量和sum，子集的所有石头重量和为ts，那么重量差就是abs(sum-2*ts)。
#include 
int n, a[25], sum, ans;
int main()
{
	while (scanf("%d",&n) != EOF)
	{
		sum = 0;
		ans = 0x7fffffff;]]></description><category></category></item><item><title><![CDATA[ural 1004 Sightseeing Trip]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8765433</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8765433</guid><author>jasison</author><pubDate>Sat, 06 Apr 2013 22:27:05 +0800</pubDate><description><![CDATA[题意：给一个无环边可以有重边的无向带权图，求最小环的顶点序列
思路1：对每一条边 e = (v, w) 而言，在原图中删去这条边e，再做从v到w的最短路，|e| + dijkstra(v,w) 就是这个环的的长度，复杂度是O(e*O(dijkstra))
思路2：用floyd求最小环，复杂度O(n^3)，不过记录顶点序列的时候很尴尬啊- -...
#include 
using namesp]]></description><category></category></item><item><title><![CDATA[poj 1833 排列]]></title><link>https://blog.youkuaiyun.com/jasison/article/details/8753843</link><guid>https://blog.youkuaiyun.com/jasison/article/details/8753843</guid><author>jasison</author><pubDate>Tue, 02 Apr 2013 23:37:48 +0800</pubDate><description><![CDATA[题意：求接下来的第k个排列
思路：next_permutation，书上有实现方法
#include 
#include 
using namespace std;

int t, n, q, a[1040];
int main()
{
	scanf("%d", &t);
	while (t --)
	{
		scanf("%d%d", &n, &q);
		for (int i = 0; i]]></description><category></category></item></channel></rss>