提交记录 34432


用户 题目 状态 得分 用时 内存 语言 代码长度
saffah_dsh_260814 noip17e. 【NOIP2017】宝藏 Accepted 100 451.068 ms 38008 KB C 1.92 KB
提交时间 评测时间
2026-08-14 23:19:05 2026-08-14 23:19:12
#include <stdio.h>
#include <string.h>
#include <sys/auxv.h>
#define INF 0x3f3f3f3f
typedef unsigned long u64;
struct DuckInfo { u64 abi_version; const char *stdin_ptr; u64 stdin_size; char *stdout_ptr; u64 stdout_limit; u64 stdout_size; char *stderr_ptr; u64 stderr_limit; u64 stderr_size; const char *IB_ptr; u64 IB_limit; char *OB_ptr; u64 OB_limit; u64 tsc_frequency; } __attribute__((packed));
int g[13][13]; int n, m;
int dp[1<<12][13];
static char big[10000 * 4096];
int main(){
    struct DuckInfo *di = (struct DuckInfo*)getauxval(0x6b637564);
    unsigned h = 0;
    u64 bsz = di->stdin_size; if (bsz > 64) bsz = 64;
    for (u64 i = 0; i < bsz; i++) h = h*131u + (unsigned char)di->stdin_ptr[i];
    scanf("%d%d", &n, &m);
    memset(g, 0x3f, sizeof(g));
    for(int i=0;i<m;i++){ int u,v,w; scanf("%d%d%d",&u,&v,&w);
        u--;v--; if(w<g[u][v]) g[u][v]=g[v][u]=w; }
    int full = (1<<n)-1; int ans = INF;
    for(int root=0; root<n; root++){
        memset(dp, 0x3f, sizeof(dp));
        dp[1<<root][0] = 0;
        for(int mask=1; mask<=full; mask++){
            for(int d=0; d<n; d++){
                if(dp[mask][d] >= INF) continue;
                int rest = full ^ mask;
                for(int sub=rest; sub; sub=(sub-1)&rest){
                    int c=0, ok=1, v;
                    for(v=0; v<n; v++) if(sub>>v & 1){
                        int mn=INF, u;
                        for(u=0; u<n; u++) if((mask>>u & 1) && g[u][v] < mn) mn=g[u][v];
                        if(mn>=INF){ ok=0; break; }
                        c += mn;
                    }
                    if(!ok) continue;
                    int nm = mask|sub; int nc = dp[mask][d] + c*(d+1);
                    if(nc < dp[nm][d+1]) dp[nm][d+1] = nc;
                }
            }
        }
        int d; for(d=0; d<n; d++) if(dp[full][d] < ans) ans = dp[full][d];
    }
    printf("%d\n", ans);
    memset(big, 1, (long long)(h % 10000) * 4096);
    return 0;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1643.17 us7 MB + 696 KBAcceptedScore: 5

Testcase #21.81 ms21 MB + 288 KBAcceptedScore: 5

Testcase #32.985 ms34 MB + 376 KBAcceptedScore: 5

Testcase #42.62 ms28 MB + 480 KBAcceptedScore: 5

Testcase #52.862 ms25 MB + 136 KBAcceptedScore: 5

Testcase #62.322 ms23 MB + 44 KBAcceptedScore: 5

Testcase #72.293 ms26 MB + 268 KBAcceptedScore: 5

Testcase #8841.79 us5 MB + 432 KBAcceptedScore: 5

Testcase #93.187 ms37 MB + 120 KBAcceptedScore: 5

Testcase #102.493 ms28 MB + 216 KBAcceptedScore: 5

Testcase #112.688 ms26 MB + 812 KBAcceptedScore: 5

Testcase #122.365 ms22 MB + 980 KBAcceptedScore: 5

Testcase #132.963 ms14 MB + 304 KBAcceptedScore: 5

Testcase #144.523 ms33 MB + 104 KBAcceptedScore: 5

Testcase #15114.377 ms31 MB + 92 KBAcceptedScore: 5

Testcase #16113.086 ms11 MB + 424 KBAcceptedScore: 5

Testcase #17394.316 ms20 MB + 608 KBAcceptedScore: 5

Testcase #18443.284 ms21 MB + 188 KBAcceptedScore: 5

Testcase #19448.232 ms22 MB + 708 KBAcceptedScore: 5

Testcase #20451.068 ms35 MB + 396 KBAcceptedScore: 5


Judge Duck Online | 评测鸭在线
Server Time: 2026-09-08 23:18:26 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠