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 ...
随机推荐
- 使用 Attribute +反射 来对两个类之间动态赋值
看同事使用的 一个ORM 框架 中 有这样一个功能 通过特性(附加属性)的功能来 实现的两个类对象之间动态赋值的 功能 觉得这个功能不错,但是同事使用的 ORM 并不是我使用的 Dapper 所 ...
- python 爬虫-sohu抓小说
#coding:utf-8 import urllib2 import sys import re '): realurl = "%s%s%s" %(url,offset,'.sh ...
- oracle 临时表空间
环境: OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3. ...
- Lambda前世今生
1.学习资料 匿名函数 C#编程指南http://msdn.microsoft.com/zh-cn/library/bb882516.aspx Lambda表达式 C#编程指南http://msdn. ...
- Swift 1.2 正式发布 - 带来很多重大改进
Swift 1.2 随着 Xcode 6.3 Beta 正式发布了.这次的 beta 发布包含了对 Swift 编译器显著的改进.还有对 Swift 语言本身的新特性的增加.这篇文章介绍下主要部分. ...
- [转]ubuntu server上网配置
[转]ubuntu server上网配置 http://blog.sina.com.cn/s/blog_6c9d65a101011pyt.html 今天我的ubuntu server上不去网了,所以重 ...
- 1.1 MySQL 逻辑架构
- P3245: 最快路线
这道题其实还是不难的,只是自己搞混了=-=//晕,做了好久啊,其实就是个spfa,关键是存储路径搞昏了.输出格式要求太严了,航模不能有空格啊,所以因为格式WA了三次,哭啊/(ㄒoㄒ)/~~.贴上代码吧 ...
- JNA开发中的问题积累
[Qboy原创] 2013年12月28日 在开发一个项目过程中需要调用第三方的C的dll.由于是第一次在项目中使用JNA,很多都安装开发文档来做,但是出现了很多的问题. 由于很多接口还没调完,还不知道 ...
- 用telnet和php的curl库测试http
一.telnet测试http telnet简介 Telnet协议是TCP/IP协议族的其中之一,是Internet远端登录服务的标准协议和主要方式,常用于网页服务器的远端控制,可供使用者在本地 ...