上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 44 下一页
摘要: 题目链接去年杭州现场赛的神题。。枚举角度。。精度也不用注意。。#include #include #include #include #include #include using namespace std;#define eps 1e-8#define PI 3.1415926double xl,xr,yl,yr;double judge(double tx,double ty){ if(tx = xl&&tx = yr) return ty - yr; else if(tx >= xl&&tx xr&&ty > yr) retu 阅读全文
posted @ 2013-10-09 17:29 Naix_x 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目链接只要会做,周长并,这题肯定有思路。有个小地方敲错了,细心啊,扫描线,有一段时间没写过了,还有注意排序的问题,很重要。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL __int64 9 #define lson l,m,rt S.c; 26 else if(c == 1) 27 return h > S.h; 28 else if(... 阅读全文
posted @ 2013-10-09 11:19 Naix_x 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题目链接这题,关键不是二分,而是如果在t的时间内,将n个头,刷完这m个磁盘。看了一下题解,完全不知怎么弄。用一个指针从pre,枚举m,讨论一下。只需考虑,每一个磁盘是从右边的头,刷过来的(左边来的之前刷了)。思维是硬伤。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL __int64 9 LL p[100001],h[100001];10 int n,m;11 int judge(LL x)12 {13 int pre ... 阅读全文
posted @ 2013-10-08 20:34 Naix_x 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题目链接想了挺久,枚举每一件物品,当做关键物品,假设再加这一件物品,就>=c了,把剩下的物品背一下包,dp[i][j]表示i个物品可以组成重量j的个数。这样就可以知道前面放i件,后边肯定放n-i-1件,乱搞搞,算double,边乘边算保证不要越界。最后注意,LL和sum 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL __int64 9 LL dp[2][51][101];10 int p[51];11 int main()12 {13 in... 阅读全文
posted @ 2013-10-07 20:24 Naix_x 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 我只能说的亏没做,要不就挂0了。。本来想四色定理,肯定4就可以的。。。然后准备爆,发现3的时候不好爆,又想了老一会,嗯,数据范围不小,应该不是暴力,直接找规律,貌似最大就是3,有一个3连块,输出3,其他输出2什么的。交,发现有环的时候,特殊的也是3。。。没办法还得暴力啊。暴力2的情况,写的也是各种错误。。。终于过了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 char p[51][51]; 9 int o[51][51];10 int mp[2... 阅读全文
posted @ 2013-10-06 21:01 Naix_x 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 很棒的DP,不过没想出,看题解了。。思维很重要。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int dp[1000010]; 9 int sum[51];10 class MayTheBestPetWin11 {12 public :13 int calc(vector A, vector B)14 {15 int i,j,s1,s2;16 s1 = s2 = 0;17 ... 阅读全文
posted @ 2013-10-06 16:58 Naix_x 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接做题, 1 #include 2 #include 3 #include 4 using namespace std; 5 #define MOD 20090717 6 int trie[351][26]; 7 int o[351]; 8 int fail[351]; 9 int que[351]; 10 int dp[2][351][1024]; 11 int flag[1024]; 12 int t; 13 void CL() 14 { 15 memset(trie,-1,sizeof(trie)); 16 memset(dp,0,sizeo... 阅读全文
posted @ 2013-10-05 15:14 Naix_x 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 非常幸运。。第三题,有个地方没想清楚,枚举一下就行了。。x to n,这个x没考虑好,跪了。。。傻傻的lock了代码,通过hack进了DIV1,5-2 。第一次进入DIV1,记录一下。不知不觉,已经是第34场,CF了。 阅读全文
posted @ 2013-10-05 13:38 Naix_x 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 很不错的一题,非常巧妙的用DP顺序解决这个问题。。。可以发现,只和A里面最小的有关系。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 #define LL long long 9 int dp[50*60000+1];10 vector::iterator it;11 bool cmp(int a,int b)12 {13 return a > b;14 }15 class YetAnotherTwoTeamsProblem16 {17... 阅读全文
posted @ 2013-09-27 17:02 Naix_x 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目链接难得出一个AC自动机,我还没做到这个题呢。。。这题思路不难想,小小的状压出一维来,不过,D和R,让我wa死了,AC自动机,还得刷啊。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define MOD 1000000007 8 int dp[101][101][201][4]; 9 int trie[201][2]; 10 int o[201]; 11 int fail[201],que[1001],p[201][201]; 12 int t; 13... 阅读全文
posted @ 2013-09-25 14:27 Naix_x 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 这题确实很棒。。又是无想法。。其实是AC自动机+DP的感觉,但是只有一个串,用kmp就行了。dp[i][j][k],k代表前缀为virus[k]的状态,len表示其他所有状态串,处理出Ac[len][26]数组来,DP就可以了。状态转移那里一直没想清楚,wa了很多次,记录路径倒是不复杂,瞎搞搞就行。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 char s1[103],s2[103],virus[103]; 8 int dp[103][103][103]; 9 ... 阅读全文
posted @ 2013-09-25 10:06 Naix_x 阅读(804) 评论(8) 推荐(0) 编辑
摘要: 题目链接很繁琐的爆搜,最多要加2^12条边,暴力就可以,回溯那部分一直没有回溯好,写了一晚上。。。代码非常,非常难看。。对了,还不是普通的爆搜,双向搜索博弈,以前记得看过,这次好像第一次写。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int p[40][40],flag[101],o[41][41]; 8 int que[30]; 9 int sp[100]; 10 int sf[101]; 11 int num,sz; 12 int t1,t2;... 阅读全文
posted @ 2013-09-24 08:23 Naix_x 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目链接题目都看不懂,做毛线。。。看懂了之后就是kmp出,所有的匹配区间,然后DP可以写,贪心也可以做把,DP应该需要优化一下,直接贪,也应该对的,经典贪心问题。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int s1[100001],s2[100001]; 8 int p[100001],o[100001]; 9 int next[100001];10 int flag[100001];11 int judge(int x,int y)12 {13 if(x == y... 阅读全文
posted @ 2013-09-23 15:32 Naix_x 阅读(442) 评论(0) 推荐(1) 编辑
摘要: 题目链接没有发现那个点,无奈。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define LL __int64 8 int o[10001],rank[10001]; 9 struct node 10 { 11 int u,v,w; 12 } edge[500001]; 13 int n,m; 14 int que[500001]; 15 LL ans[500001]; 16 bool cmp(node a,node b) 17 { 18 ... 阅读全文
posted @ 2013-09-23 11:30 Naix_x 阅读(446) 评论(0) 推荐(1) 编辑
摘要: 题目链接比赛时候,建图建错了。大体算法想到了,不过很多细节都没想好。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 int flag[101]; 8 int p[101][101]; 9 int o[101][101];10 int n,z;11 void dfs(int x,int step)12 {13 int i;14 if(z) return ;15 for(i = 1; i <= n; i ++)16 {17 if... 阅读全文
posted @ 2013-09-23 11:29 Naix_x 阅读(193) 评论(0) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 44 下一页