太弱了,太弱了!

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的更多相关文章

  1. topcoder 594 DIV2 foxandclassroom

    暴力枚举 1 #include <iostream> #include <vector> #include <string> using namespace std ...

  2. ACM学习历程—TopCoder SRM691 Div2

    这是我的第一次打TC,感觉打的一般般吧.不过TC的题目确实挺有意思的. 由于是用客户端打的,所以就不发题目地址了. 300分的题: 这题大意是有一段序列只包含+和数字0~9. 一段序列的操作是,从头扫 ...

  3. 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 ...

  4. topcoder 649 DIV2

    8 A:模拟 9:B:终于看懂题目... 题意:最多分解K次 每分钟一个数可以分解成两个数 或者-1: 关键字:DP,记忆花搜索. DP[I][J]=min(dp[i][j],1+max(dp[ii] ...

  5. Topcoder 658 650 point

    Topcoder 658 div2 500 加强版 不过给了<=20,暴力肯定不行. 然后想DP方程,先二分可能需要的最大次数mid; 然后根据 mid 构造 DP方程. 假设x[i]需要 x个 ...

  6. Topcoder SRM 643 Div1 250<peter_pan>

    Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*... ...

  7. Topcoder Srm 673 Div2 1000 BearPermutations2

    \(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...

  8. Topcoder Srm 671 Div2 1000 BearDestroysDiv2

    \(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...

  9. Codeforce Round #643 #645 #646 (Div2)

    codeforce Round #643 #645 #646 div2 Round #643 problem A #include<bits/stdc++.h> using namespa ...

随机推荐

  1. async/await的实质理解

    async/await关键字能帮助开发者更容易地编写异步代码.但不少开发者对于这两个关键字的使用比较困惑,不知道该怎么使用.本文就async/await的实质作简单描述,以便大家能更清楚理解. 一.a ...

  2. 【Cocoa】 Initializing View Instances Created in Interface Builder

    Initializing View Instances Created in Interface Builder View instances that are created in Interfac ...

  3. App.config的学习笔记

    昨天基本弄清config的使用之后,再看WP的API,晕了.结果WP不支持system.configuration命名空间,这意味着想在WP上用App.config不大可能了. WP具体支持API请查 ...

  4. java软件包的访问权限和继承

    public:公共权限,可以修饰类.成员变量和成员函数,不论是否在同一个包中均可自由访问 package wang; //当一个类的权限为public时,类名必须和文件名相同 public class ...

  5. 插值和空间分析(二)_变异函数分析(R语言)

    方法1.散点图 hscat(log(zinc)~, meuse, (:)*) 方法2.变异函数云图 library(gstat) cld <- variogram(log(zinc) ~ , m ...

  6. 在Windows下使用BAT调度存储在资源库中的KTR

    描述: 在Windows下使用BAT调度存储在资源库中的KTR 准备环境: 1.ktr文件(该KTR必须是存储在资源管库中的) 2.bat文件 @echo off D: cd D:\software\ ...

  7. Cygwin ssh服务配置 (SecureCRT连接Cygwin配置)

    1.运行ssh-host-config 这里需要注意的是标红部分,输入的用户名或密码要符合计算机的用户名或密码策略(尤其是公司有权限限制的电脑). $ ssh-host-config *** Quer ...

  8. GIS中栅格数据的拼接

    Datamanager Tools——Raster——Raster Dataset——Mosaic to New Raster 如果最大值是实际的真值,选择masaic operator要保留Max ...

  9. 向plsql中导入数据

    1.TOOLS-->ODBC IMPORTER 2.TOOLS-->TEXT IMPORTER3.sqlldr userid=zj/zj@orcl control=D:\test.ctl ...

  10. oracle 查询今天哪个表增加的数据多

    一.创建一个表  create table A(  TABLE_NAME VARCHAR2(200),  COUNT_NUM  NUMBER) 二.创建一个存储过程create or replace  ...