• 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。

     1 #include <string>
     2 #include <vector>
     3 #include<iostream>
     4 #include<string.h>
     5 #include<algorithm>
     6 #include<cmath>
     7 
     8 using namespace std;
     9 
    10 typedef long long ll;
    11 int dp[55][55][55];
    12 int b[55][55][55];
    13 
    14 vector<int>mp[123];
    15 #define inf 0x3f3f3f
    16 int n;
    17 int son[123];
    18 
    19 class TheKingsTree {
    20     public:
    21 
    22 
    23     int dfs(int u,int red,int green)
    24     {
    25         if (b[u][red][green]) return dp[u][red][green];
    26 
    27         b[u][red][green]=1;
    28         int c1=red+1;
    29         int c2=green+1;
    30         for (int i=0;i<mp[u].size();i++)
    31         {
    32             c1+=dfs(mp[u][i],red+1,green);
    33             c2+=dfs(mp[u][i],red,green+1);
    34         }
    35         return dp[u][red][green]=min(c1,c2);
    36     }
    37     int getNumber(vector <int> parent) {
    38     for (int i=0;i<parent.size();i++)
    39     mp[parent[i]].push_back(i+1);
    40 
    41     return dfs(0,0,0);
    42     }
    43 };
    44 
    45 
    46 // Powered by FileEdit
    47 // Powered by TZTester 1.01 [25-Feb-2003]
    48 // 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:这种方程在比赛中时怎么也写不出来的。

  • 相关阅读:
    pickle 序列化对象
    字符串模板
    静态类和静态方法,抽象类和抽象方法,new关键字,值类型和引用类型,接口
    C#中方法,方法声明,方法调用和方法重载!
    TryParse用法
    成倍提高服务器的负载能力:浅谈Jexus的ASP.NET前置缓存技术
    全面解析C#中参数传递
    【NX二次开发】Block UI 属性类型
    【NX二次开发】镜像对象
    【NX二次开发】根据视图名称旋转视图,在布局中替换视图uc6464
  • 原文地址:https://www.cnblogs.com/forgot93/p/4190306.html
Copyright © 2020-2023  润新知