topcoder 643 DIV2
太弱了,太弱了!
A:基本的判断吧,然后就是边界问题,写了好久,结果发现时房间第二个交的。。
B:真心跪了,还好想出来了,思路想的太慢太慢,结果交上去,落后太多,不过HACK时很多人挂了,
这也是DIV1的A题。做法是:
如果对于一个long long 的数质因数分解师很难做到的。
但是题目告诉了m/2个数,m是分解后质因数的个数。
然后我们想先刷法求出1-10^6的质因数。
如果n有大于10^6的质因数最多2个(n<=10^18)对吧。
然后已经写出了1个,一定会写出一个。
所以 我们对其用1-10^6的素数刷选。
留下的n!=1的也是素数。保存的数再排序。
C:题给跪了,
看的出来时比较简单的题目,比以前的题目都要简单,可就是想不出。
看看别人的代码,只剩下ORZ。
#include <string>
#include <vector>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<cmath> using namespace std; typedef long long ll;
int dp[][][];
int b[][][]; vector<int>mp[];
#define inf 0x3f3f3f
int n;
int son[]; class TheKingsTree {
public: int dfs(int u,int red,int green)
{
if (b[u][red][green]) return dp[u][red][green]; b[u][red][green]=;
int c1=red+;
int c2=green+;
for (int i=;i<mp[u].size();i++)
{
c1+=dfs(mp[u][i],red+,green);
c2+=dfs(mp[u][i],red,green+);
}
return dp[u][red][green]=min(c1,c2);
}
int getNumber(vector <int> parent) {
for (int i=;i<parent.size();i++)
mp[parent[i]].push_back(i+); return dfs(,,);
}
}; // Powered by FileEdit
// Powered by TZTester 1.01 [25-Feb-2003]
// Powered by CodeProcessor
我把我理解的大概写一下:
DFS(0,0,0)是从节点0开始遍历 且其子节点red=0,green=0;
还要记录状态是否保存了。记忆花搜索
c1=red+1;(采用的是一种我认为的倒序方式)
当前节点为red 然后要加上其值,
c1+=dfs(v,red+1,green);
是把v染成red的值。c1要加上其值。
C2是代表green 依次类推
PS:这种方程在比赛中时怎么也写不出来的。
topcoder 643 DIV2的更多相关文章
- topcoder 594 DIV2 foxandclassroom
暴力枚举 1 #include <iostream> #include <vector> #include <string> using namespace std ...
- ACM学习历程—TopCoder SRM691 Div2
这是我的第一次打TC,感觉打的一般般吧.不过TC的题目确实挺有意思的. 由于是用客户端打的,所以就不发题目地址了. 300分的题: 这题大意是有一段序列只包含+和数字0~9. 一段序列的操作是,从头扫 ...
- TopCoder SRM596 DIV2 1000: SparseFactorialDiv2
题意: For an integer n, let F(n) = (n - 0^2) * (n - 1^2) * (n - 2^2) * (n - 3^2) * ... * (n - k^2), wh ...
- topcoder 649 DIV2
8 A:模拟 9:B:终于看懂题目... 题意:最多分解K次 每分钟一个数可以分解成两个数 或者-1: 关键字:DP,记忆花搜索. DP[I][J]=min(dp[i][j],1+max(dp[ii] ...
- Topcoder 658 650 point
Topcoder 658 div2 500 加强版 不过给了<=20,暴力肯定不行. 然后想DP方程,先二分可能需要的最大次数mid; 然后根据 mid 构造 DP方程. 假设x[i]需要 x个 ...
- Topcoder SRM 643 Div1 250<peter_pan>
Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*... ...
- Topcoder Srm 673 Div2 1000 BearPermutations2
\(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...
- Topcoder Srm 671 Div2 1000 BearDestroysDiv2
\(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...
- Codeforce Round #643 #645 #646 (Div2)
codeforce Round #643 #645 #646 div2 Round #643 problem A #include<bits/stdc++.h> using namespa ...
随机推荐
- 用序列化工具写入xml
标本: <?xml version="1.0" encoding="UTF-8" standalone="true"?> //文 ...
- Android之Selector、Shape介绍
------------整理自网络---------------------- <?xml version=”1.0″ encoding=”utf-8″?> <shape xmlns ...
- 生日蛋糕 (codevs 1710) 题解
[问题描述] 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1<=i<=M)层蛋糕是半径为Ri,高度为Hi的圆柱 ...
- 19.python的编码问题
在正式说明之前,先给大家一个参考资料:戳这里 文章的内容参考了这篇资料,并加以总结,为了避免我总结的不够完善,或者说出现什么错误的地方,有疑问的地方大家可以看看上面那篇文章. 以下说明是针对于pyth ...
- 包装类(Wrapper Class)
1)包装类.针对于原生数据类型的包装.所有的包装类(8个)对位于java.lang包下.java中的8个包装类分别是:Byte,Short,Integer,Long,Float.Double,Char ...
- RAP开发入门-搭建RAP开发环境(一)
ps:补充 RAP (Remote Application Platform) 官网地址eclipse.org/rap 1.下载IDE http://www.eclipse.org/downloads ...
- JQUERY 判断选择器选择的对象 是否存在
判断方法: 直接选择判断,是不正确的方法,因为 $(“#id”) 不管对象是否存在都会返回 object . if($("#id")){ alert('存在'); }else{ a ...
- Excel日期格式提取year
Excel日期格式提取year =TEXT(YEAR(C2),"0000")
- hdu 5253 连接的管道
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5253 连接的管道 Description 老 Jack 有一片农田,以往几年都是靠天吃饭的.但是今年老 ...
- Tutorial: Facebook analytics using Power BI Desktop
In this tutorial you learn how to import and visualize data from Facebook. During the tutorial you'l ...