04 2013 档案

摘要:int g[15]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};打表比较好吧,13的数据量。如果用循环链表模拟暴力要跑很多时间才能搞定。 根据这题只看前k个和后k个。 第一次到s%2*k, 那么第二次则到 (s+s%(2*k-1))%(2*k-1) ,如此递推只需k的时间就可以A了。JosephTime Limit:1000MSMemory Limit:10000KTotal Submissions:43659Accepted:16425DescriptionThe Joseph's problem 阅读全文
posted @ 2013-04-29 14:38 chenhuan001 阅读(221) 评论(0) 推荐(0) 编辑
摘要:比较基础的约瑟夫环记住约瑟夫环的递推的公式 就行了假设是从0-n-1, 从0开始的第k个人f[1]=0;f[i]=(f[i-1]+k+1)%i (i>1)Eeny Meeny MooTime Limit:1000MSMemory Limit:65536KTotal Submissions:2927Accepted:2013DescriptionSurely you have made the experience that when too many people use the Internet simultaneously, the net becomes very, very sl 阅读全文
posted @ 2013-04-28 21:55 chenhuan001 阅读(274) 评论(0) 推荐(0) 编辑
摘要:坑爹的,这题还要打表才能过, 10^5组测试数据,不打表就基本的输入输出就要花不少时间了,所以下次要注意如此大的数据量的时候要考虑打表...题意就不说了, 我的解法是求出n个人的需要多少次(cnt)才能将所有人都除去(除了1- (K-1) ), 然后找出比n小的人数中 也恰需要cnt次的人数。 然后这个就是最后一个人可以一开始先把 k个人 的所有情况都存下来, 然后直接调用就行了杀人游戏Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1298A 阅读全文
posted @ 2013-04-28 20:51 chenhuan001 阅读(541) 评论(0) 推荐(0) 编辑
摘要:此题的关键在于给你的位置的分布, 可以发现是交错的,那么就可以用二分图了。National TreasuresTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 854Accepted Submission(s): 281Problem DescriptionThe great hall of the national museum has been robbed few times recently. Everyone is now worrie 阅读全文
posted @ 2013-04-27 20:43 chenhuan001 阅读(198) 评论(0) 推荐(0) 编辑
摘要:此题可有对角线都是1的方阵进行 行变换或列变换 得到。 如果这样想就可以知道, 每行只选一个列,要把所有的列全部选完, 而且最后只需进行行变换就可以转变成对角线全为一SwapTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 892Accepted Submission(s): 283Special JudgeProblem DescriptionGiven an N*N matrix with each entry equal to 0 or 1 阅读全文
posted @ 2013-04-27 20:39 chenhuan001 阅读(172) 评论(0) 推荐(0) 编辑
摘要:第一次写HK, 这个算法的原理和dinic比较类似,都是先bfs求出层次图,然后在层次图上进行dfs搜索增广路。这个算法要注意的几点1. 每次构建层次图时,最大层(dis)为最近的Y中的未覆盖的点2. 每次在层次图中找的时候最多找到dis(最大层).听说可以证明到这个算法的复杂度 为 sqrt(n)*m 。 我没有去证但是对比dinic ,这种算法应该都是会提速的,将无规律的搜索变成有规律的Rain on your ParadeTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 655350/165535 K (Java/Others) T 阅读全文
posted @ 2013-04-25 23:00 chenhuan001 阅读(283) 评论(0) 推荐(0) 编辑
摘要:简单的背包问题,算是一种多重的吧。解题的关键在于,要控制最后所用的时间最少,所以在程序的最开始应该先将 输入的各种题目 以时间升序排列, 然后就可以保证每次都以时间小的优先选, 这样就可以保证最后相同的吸引值和解题数的情况下所话的时间最少。Happy Programming ContestTime Limit:2 Seconds Memory Limit:65536 KBIn Zhejiang University Programming Contest, a team is called "couple team" if it consists of only two s 阅读全文
posted @ 2013-04-22 10:57 chenhuan001 阅读(360) 评论(0) 推荐(0) 编辑
摘要:需要及记住的是,对于这种判断什么情况是否唯一的题目, 可以选择删掉这个看最后的结果时候会改变来判断。一个大牛的解题报告:题意:给定一群人的姓名和昵称,给定了一些关系,现在要求判定姓名和昵称能够一一对应的有哪些?解法:一开始直接使用藏匿点的所有人和邮件进行构边,再用删除来判定,结果出错,为什么呢?因为我们将藏匿点的所有人和邮件连边确定的就是一种可能关系,然而题目中还隐藏了许多的可能关系,比如某人在藏匿点但是没有发邮件,那么其和其他未出现的昵称之间存在可能关系。正确的解法是确定不可能关系,因为这样更加简单,在藏匿点外的人不可能与邮件有关系。初始化所有人和所有昵称都有关系,通过排除不可能的关系即确定 阅读全文
posted @ 2013-04-22 10:52 chenhuan001 阅读(403) 评论(0) 推荐(0) 编辑
摘要:比较基础的二分图。因为没有环路, 每个十字路口只能通过一个伞兵, 所以可以用最大匹配来做。 也就是对于每一条街道,如果选择了,那么就可以减少一个伞兵。Air RaidTime Limit:1000MSMemory Limit:10000KTotal Submissions:5800Accepted:3464DescriptionConsider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that startin 阅读全文
posted @ 2013-04-22 10:45 chenhuan001 阅读(277) 评论(0) 推荐(0) 编辑
摘要:模拟题慢慢磨是可以磨出来的, 但是。。。 又有什么意思呢???弱菜, 磨了N久才把这题给磨出来.先说下这题的过程, 首先理解题目起码花了我N个小时,之前题意没有完全读懂写错了一种。 然后正确的看懂了题目的意思后写了几个小时, 写的过程是纠结的, 有些方法因为太繁琐所以就去想简便一点的方法, 这样写着写着觉得烦了,又重新想个方法开始写。 最终导致写写删删, 花了不少时间。用 位运算记录状态, dp,枚举,hash 构成了这个恶心的模拟题,最恶心的莫过于这坑人的题意。要注意的是: 每次读数字的时候, 每个数字都要读三行三列, 然后就可以大概知道题意是什么了,就是两个数字重叠的部分怎么分配.比如_ 阅读全文
posted @ 2013-04-21 12:40 chenhuan001 阅读(395) 评论(0) 推荐(0) 编辑
摘要:由konig定理 最小点覆盖==最大匹配可以发现的是在一个二分图中只要将最小点覆盖集中的点都去掉,那么剩下的点之间就没有边了, 也就是剩下来的为最大点独立集然后就可以用 (最大点独立集)==(n-最小点覆盖)==(n-最大匹配)Girls and BoysTime Limit:5000MSMemory Limit:10000KTotal Submissions:9325Accepted:4123DescriptionIn the second year of the university somebody started a study on the romantic relations be 阅读全文
posted @ 2013-04-17 10:26 chenhuan001 阅读(261) 评论(0) 推荐(0) 编辑
摘要:先判断是否为二分图 , dfs 对每个点染色, 如果不会出现矛盾就说明是二分图。然后就是匈牙利直接水过了。。。The Accomodation of StudentsTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1345Accepted Submission(s): 661 Problem DescriptionThere are a group of students. Some of them may know each other, 阅读全文
posted @ 2013-04-16 13:35 chenhuan001 阅读(150) 评论(0) 推荐(0) 编辑
摘要:简单的二分图。思路:对于每个不是ponds的点标号,建图时把每个点拆成两个,然后在这两部分进行最大匹配,具体的建边的方法是, 每个标号点,都找和他相邻的点连边。最后用匈牙利算法算出最大匹配后, 将总数除以2就是结果Uncle Tom's Inherited LandTime Limit: 2 Seconds Memory Limit: 65536 KBYour old uncle Tom inherited a piece of land from his great-great-uncle. Originally, the property had been in the shape 阅读全文
posted @ 2013-04-16 10:17 chenhuan001 阅读(334) 评论(0) 推荐(0) 编辑
摘要:D题, 纠结, 一开始想用组合数学的方法可是想不出怎么排列组合, 然后又准备暴力结果发现普通暴力在n=15的时候就不知道要运行多少时间。。。于是去学习了一个 中途相遇的 搜索算法,快了很多, n=15的那组数据也可以在20s内跑完.其实这个算法就是将 n^n 的复杂度变成了 2*n^(n/2) , 可以快很多....本质就是将整个搜索过程分成两半来搜。D. Permutation Sumtime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPer 阅读全文
posted @ 2013-04-15 17:13 chenhuan001 阅读(430) 评论(0) 推荐(0) 编辑
摘要:这题的关键在于将 a+b+c=d 转换为 a+b=d-c , 然后将所有a+b 的情况全部求出来排序, 然后从大到小枚举d和c, 二分查找d-c。SumsetsTime Limit:1000MSMemory Limit:65536KTotal Submissions:7682Accepted:2105DescriptionGiven S, a set of integers, find the largest d such that a + b + c = d where a, b, c, and d are distinct elements of S.InputSeveral S, eac 阅读全文
posted @ 2013-04-15 00:48 chenhuan001 阅读(273) 评论(0) 推荐(0) 编辑
摘要:#include <stdio.h>#include <string.h>#include <iostream>using namespace std;#define N 250#define M 20100#define INF 0x3fffffffstruct node{ int from,to,next,w;}edge[M];int n,m;int cnt,pre[N];int s1,nn,t;int lv[N],gap[N];int kk;int mark[N];int save[110][2];void add_edge(int u,int v,i 阅读全文
posted @ 2013-04-14 15:47 chenhuan001 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题意: 最大匹配数 时候等于P解法: 直接匈牙利COURSESTime Limit:1000MSMemory Limit:10000KTotal Submissions:14735Accepted:5816DescriptionConsider a group of N students and P courses. Each student visits zero, one or more than one courses. Your task is to determine whether it is possible to form a committee of exactly P st 阅读全文
posted @ 2013-04-11 11:18 chenhuan001 阅读(235) 评论(0) 推荐(0) 编辑
摘要:konig定理 : 最小点覆盖数=最大匹配要注意的一点是: 一开始A,B都处于0模式,所以所有与0有关的边都不需要考虑了。。Machine ScheduleTime Limit:1000MSMemory Limit:10000KTotal Submissions:9989Accepted:4248DescriptionAs we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history. Scheduling 阅读全文
posted @ 2013-04-11 10:38 chenhuan001 阅读(238) 评论(0) 推荐(0) 编辑
摘要:题目的意思是在一个有空地,墙,和草的棋盘上放机器人, 机器人只能放在空地上, 机器人很强大可以攻击上、下、左、右四个方向, 但是不能穿透墙。 然后求最多能放置多少个机器人使其不互相攻击.刚开始拿到题的时候,苦苦思考怎么建图, 连将整个图放大25倍的烂方法想了一遍,最后没能想出正确的解法。 因为对二分图构图以及求解不熟悉。 所以想不出怎样构建图首先可以知道的是, 在一个点u选择了另一个点v后, u点就不能选择其他的点,联想到这题在一行中选择了对应一个列的一点,那么这行中的其他点(直接到达的)就不能选了。 方之,对于点v 也是,选择了u点就不能选择其他的点, 对应于一个列上只能选择一个点相应的行。 阅读全文
posted @ 2013-04-10 22:10 chenhuan001 阅读(344) 评论(0) 推荐(0) 编辑
摘要:刚刚看到很多人都用DFS+剪枝做数独。。 顿时不爽了, 我家DLX 何在。。。不过想想确实这个搜索剪枝真的很多,不过怎么说还是DLX 快...#include <stdio.h>#include <string.h>#include <iostream>using namespace std;#define N 300000#define INF 0x3fffffffchar g[10][10];int ans[1000];int u[5000],d[5000],r[5000],l[5000],num[5000],H[1000],save[5000],sav 阅读全文
posted @ 2013-04-10 12:31 chenhuan001 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1. 精确覆盖int U[N],R[N],D[N],L[N],num[N],H[N],col[N],line[N];int head,id,flag;int nn,mm;void prepare(){ id=mm; for(int i=0;i<=mm;i++) { num[i]=0; U[i]=i; D[i]=i; R[i]=i+1; L[i+1]=i; } R[mm]=0; L[0]=mm; memset(H,-1,sizeof(H));}void link(int tn,int... 阅读全文
posted @ 2013-04-09 07:04 chenhuan001 阅读(198) 评论(0) 推荐(0) 编辑
摘要:貌似是一道区域赛的题目。 和数独有着相似之处。。。题目的关键在于建图, 然后要注意的是重边!Power StationsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1566Accepted Submission(s): 409 Special JudgeProblem DescriptionThere are N towns in our country, and some of them are connected by electri 阅读全文
posted @ 2013-04-08 21:56 chenhuan001 阅读(213) 评论(0) 推荐(0) 编辑
摘要:用了点离散化的处理, 然后二分一下就可以了。。。RadarTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1928Accepted Submission(s): 796 Problem DescriptionN cities of the Java Kingdom need to be covered by radars for being in a state of war. Since the kingdom has M radar st 阅读全文
posted @ 2013-04-08 13:50 chenhuan001 阅读(209) 评论(0) 推荐(0) 编辑
摘要:简单重复覆盖题。。。whosyourdaddyTime Limit: 20000/10000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1022Accepted Submission(s): 502 Problem Descriptionsevenzero liked Warcraft very much, but he haven't practiced it for several years after being addicted to algorithms. N 阅读全文
posted @ 2013-04-08 13:48 chenhuan001 阅读(169) 评论(0) 推荐(0) 编辑
摘要:重复点覆盖的题, 建好图就可以直接A 了。。。Bomberman - Just Search!Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 497Accepted Submission(s): 276 Problem DescriptionBomberman has been a very popular game ever since it was released. As you can see above, the game is p 阅读全文
posted @ 2013-04-08 13:45 chenhuan001 阅读(136) 评论(0) 推荐(0) 编辑
摘要:可以重复的点覆盖, 写法和一般的DLX 很相似,但是在找到选择一行的时候,只删去这一行上所有点的列。 还要注意的是启发函数起了很大的剪枝作用。 Problem 1686 神龙的难题 Accept: 331 Submit: 1111 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description这是个剑与魔法的世界.英雄和魔物同在,动荡和安定并存.但总的来说,库尔特王国是个安宁的国家,人民安居乐业,魔物也比较少.但是.总有一些魔物不时会进入城市附近,干扰人民的生活.就要有一些人出来守护居民们不被魔物侵害.魔法使艾米莉就是这样的一 阅读全文
posted @ 2013-04-08 13:42 chenhuan001 阅读(251) 评论(0) 推荐(0) 编辑
摘要:题目的关键是排序。要注意的是数组要开的稍微大一些。前m大的数Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6703Accepted Submission(s): 2376Problem Description还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。给定一个包含N(N<=3 阅读全文
posted @ 2013-04-06 13:32 chenhuan001 阅读(273) 评论(0) 推荐(0) 编辑
摘要:从1-n开始遍历每个元素,用一个辅助栈来记录到这个元素前有多少个非递减连续的个数,然后再从这个点开始往后找看有多少能和栈中的元素配对,记录最大值即可。这样可以使复杂度达到 O(n).吉哥系列故事——完美队形IITime Limit: 3000/1000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 533Accepted Submission(s): 168Problem Description 吉哥又想出了一个新的完美队形游戏! 假设有n个人按顺序站在他的面前,他们的身高分别是h.. 阅读全文
posted @ 2013-04-06 08:55 chenhuan001 阅读(220) 评论(0) 推荐(0) 编辑
摘要:16*16的数独, 跟9*9的类似。。。SudokuTime Limit:10000MSMemory Limit:65536KTotal Submissions:3683Accepted:1799DescriptionA Sudoku grid is a 16x16 grid of cells grouped in sixteen 4x4 squares, where some cells are filled with letters from A to P (the first 16 capital letters of the English alphabet), as shown in 阅读全文
posted @ 2013-04-05 15:29 chenhuan001 阅读(229) 评论(0) 推荐(0) 编辑
摘要:和之前那道数独一样。。。 搜索很强大。只用了47msSudokuTime Limit:1000MSMemory Limit:65536KTotal Submissions:7108Accepted:2498DescriptionIn the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgrids. For example, .2738..1..1...6735.......293.5692.8...........6.1745.364.......9518... 阅读全文
posted @ 2013-04-05 15:28 chenhuan001 阅读(212) 评论(0) 推荐(0) 编辑
摘要:第一次做数独的题目, 最纠结的是建矩阵无疑。。。 想了N久才把这个矩阵给弄好,真的是很麻烦。 但是确实DLX 好快,解数独几乎是秒杀。。。SudokuTime Limit:2000MSMemory Limit:65536KTotal Submissions:11405Accepted:5645Special JudgeDescriptionSudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure 阅读全文
posted @ 2013-04-05 13:48 chenhuan001 阅读(243) 评论(0) 推荐(0) 编辑
摘要:其实是一道DLX的简单题, 可是我做了两天,虽然这两天做的很间断,但是我懂的了一些东西。并不是你算法对的,感觉跟别人的代码差不多就可以达到和别人一样的效果, 这题算法大家都一样但是写出的程序速度却相差有10倍。 我就是因为写的烂,然后一直TLE,一开始我以为是哪里死循环了,后面一直TLE,看了别人的代码,然后一点一点的修改,最后才能过。。。一定要注意自己代码的风格, 一些细节,能省就省,尤其是这种复杂度不定的搜索题, 更是要注意能省一点是一点!Treasure MapTime Limit:2 Seconds Memory Limit:32768 KBYour boss once had got 阅读全文
posted @ 2013-04-04 10:21 chenhuan001 阅读(322) 评论(0) 推荐(0) 编辑
摘要:其实比较简单的一道递推题。 当时我却没有什么想法真的是太失败了。。F[X] 表示前X个人,且最后一个选的是比k大的数 的总人数K[X] 表示前X个人,且最后一个选的是<=k 的总人数则F[X]=F[X-1]*(m-k)+K[X-1]*(m-k)K[X]=F[X-1]*k+K[X]*(k-1)构造出矩阵求解即可Choosing numberTime Limit:2 Seconds Memory Limit:65536 KBThere arenpeople standing in a row. And There aremnumbers, 1.2...m. Every one should 阅读全文
posted @ 2013-04-02 09:05 chenhuan001 阅读(388) 评论(0) 推荐(0) 编辑
摘要:终于把20xx的题全部终结,以前卡在这题上一直不敢下手,现在学了矩阵优化递推方程, 这个题也就手到擒来了。。。x[i] 表示i个字符A和C 的数量都为偶数,也就是我们要的答案y[i] 表示i个字符中A的数量为奇数,C 的数量为偶数z[i] 表示i个字符中A的数量为偶数,C 的数量为奇数k[i] 表示i个字符中A的数量为奇数,C 的数量也为奇数则x[i]=2*x[i-1]+y[i-1]+z[i-1]y[i]=2*y[i-1]+x[i-1]+k[i-1]z[i]=2*z[i-1]+x[i-1]+k[i-1]k[i]=2*k[i-1]+y[i-1]+z[i-1]然后构造出矩阵,快速幂就可以了&quo 阅读全文
posted @ 2013-04-02 08:59 chenhuan001 阅读(175) 评论(0) 推荐(0) 编辑
摘要:比赛的时候想了很久,但是没有想出来。 这题用线段树思路应该挺好想, 但是会复杂一些,而用这个方法简单又好写,但是确实比较难想到。。大牛的解题报告,很详细 http://blog.csdn.net/wh2124335/article/details/8739097威威猫系列故事——晒被子Time Li... 阅读全文
posted @ 2013-04-02 08:51 chenhuan001 阅读(311) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示