The 2014 ACM-ICPC Asia Anshan Regional Contest

A题 - Twelve Months

没法补

 

B题 - Chat

大模拟,队友已补

 

C题 - Coprime

三角形同色模型。假设有n个元素,每两个元素间都存在两种不同的关系A和B。现在要求找出所有三元组,使得它们两两间均为关系A或关系B,总共有多少种可能。

解决:反过来想,我们可以先找出不符合的关系数,那么问题就变为找关系即存在A又存在B的元组。我们先遍历所有元素,假如和该元素符合A关系的元素数目为$a$,符合B关系的元素数目为$b$,那么这个元素对答案有的贡献。对于每个符合的关系$(a_{i}, a_{j}, a_{k})$如果被算进了贡献,我们把每个关系看成一条边,那么有且只有两条边是相同的,这两条边的公共点不会对答案做出贡献,但另外两个点必会对答案做出贡献,所以上面我们提到的关系$(a_{i}, a_{j}, a_{k})$其实被两个元素用到,所以最后的贡献我们要除2。至于其他细节就很套路了。

代码:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;

const int M = 1e3 + 5;
const int N = 1e5 + 5;

typedef long long ll;

int prime[N];
bool vis[N];
int cn = 0;

void init() {
  for(int i = 2; i < M; ++ i) {
    if(!vis[i]) prime[cn ++] = i;
    for(int j = 0; j < cn && i * prime[j] < M; ++ j) {
      vis[i * prime[j]] = 1;
      if(i % prime[j] == 0) break;
    }
  }
}

int gcd(int x, int y) {
  return y == 0 ? x : gcd(y, x % y);
}

int num[N];
int fac[N][10];
int facn[N];
int a[N];

void getfac(int p, int x) {
  facn[p] = 0;
  for(int i = 0; i < cn; ++ i) {
    if(x < prime[i]) break;
    if(x % prime[i] == 0) {
      fac[p][facn[p] ++] = prime[i];
      while(x % prime[i] == 0)
        x /= prime[i];
    }
    if(x == 1) break;
  }
  if(x != 1) fac[p][facn[p] ++] = x;
  return ;
}

void getnum() {
  for(int i = 2; i < N; ++ i)
    for(int j = i + i; j < N; j += i)
      num[i] += num[j];
}

int RC(int p) {
  int res = 0;
  int lim = (1<<facn[p]);
  for(int i = 1; i < lim; ++ i) {
    int mul = 1, p1 = 0;
    for(int k = 0; k < facn[p]; ++ k) {
      if(i & (1<<k)) {
        mul *= fac[p][k]; ++ p1;
      }
    }
    if(p1&1) res += num[mul]-1;
    else res -= num[mul]-1;
  }
  return res;
}

int main() {
  //clock_t t = clock();
  int T;
  init();
  scanf("%d", &T);
  while(T --) {
    int n, maxs = 1;
    scanf("%d", &n);
    memset(num, 0, sizeof(num));
    for(int i = 0; i < n; ++ i) {
      scanf("%d", a + i);
      num[a[i]] ++;
      getfac(i, a[i]);
      //maxs = max(maxs, a[i]);
    }
    getnum();
    ll pr = 0;
    for(int i = 0; i < n; ++ i) {
      int res = RC(i);
      pr += 1ll * res * (n - res - 1);
    }
    pr /= 2;
    printf("%I64d\n", 1ll*n*(n-1)*(n-2)/6 - pr);
  }
  //cout << clock()-t << "MS" << endl;
  return 0;
}
View Code

 

D题 - Galaxy

 带权中位数?因为权值都为1,我们直接一个区间一个区间地枚举即可,$O(1)$转移没问题。

 

E题 - Hatsune Miku

简单dp题,dp[p][j]表示第p个位置为j时最优解是什么,其可以由dp[p-1][k]转移过来。

 

F题 - Random Inversion Machine

不会

 

G题 - Memory

貌似是最小割,但并不会。

 

H题 - NAND

暴搜,写个dfs把所有结果记录下来就行了,但dfs比较恶心,要剪纸才行。

 

I题 - Osu!

签到题,直接模拟即可。

 

J题 - Square

状压dp。

解决:比赛时知道了这题要状压dp,但发现一个问题:对于每一行,如果我们记录当前行摆放情况和前k行每一列的摆放情况,那么状态会特别大。我们换种思路,把题意做一步退化,使其变为:计算最大子矩阵边长小于k的情况数。那么我们在计算合法状态时只需考虑连续k个方格是否每列均大于k,这样每行只需记录$(n-k+1)*k$个状态。

代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 typedef long long ll;
 5 
 6 const int N = 8;
 7 const int M = 2000 + 5;
 8 const ll MOD = 1e9 + 7;
 9 
10 char mp[N+5][N+5];
11 
12 int pw[N+1][N+1];
13 ll dp[N+1][M];
14 int bar[N+1];
15 
16 void init()
17 {
18   for(int i = 1; i <= N; ++ i) {
19     pw[i][0] = 1;
20     for(int j = 1; j <= N; ++ j)
21       pw[i][j] = pw[i][j-1] * i;
22   }
23 }
24 
25 int getp(int s, int b, int i)
26 {
27   return s / pw[b][i] % b;
28 }
29 
30 int putp(int s, int b, int i, int val)
31 {
32   int tmp = s % pw[b][i];
33   return (s / pw[b][i+1] * b + val) * pw[b][i] + tmp;
34 }
35 
36 int main()
37 {
38   //freopen("in", "r", stdin);
39   int T;
40   init();
41   scanf("%d", &T);
42   while(T --) {
43     int n, ba = 1;
44     scanf("%d", &n);
45     for(int i = 1; i <= n; ++ i) {
46       scanf("%s", mp[i]);
47       bar[i] = 0;
48       for(int j = 0; j < n; ++ j)
49         if(mp[i][j] == '*') {
50           ba = 0; bar[i] |= (1 << j);
51         }
52     }
53     printf("1\n");
54     ll pre = 1, ans = 0;
55     for(int d = 2; d <= n; ++ d) {
56       int lim = pw[d][n-d+1];
57       memset(dp, 0, sizeof(dp));
58       dp[0][0] = 1;
59       for(int i = 0; i < n; ++ i) {
60         for(int si = 0; si < lim; ++ si) {
61           for(int s = 0; s < (1<<n); ++ s) {
62             if(s & bar[i+1]) continue;
63             int nsta = 0, ok = 1;
64             for(int j = 0; j < n-d+1; ++ j) {
65               int np = getp(si, d, j);
66               int tmp = (1<<j+d)-(1<<j);
67               if((s & tmp) == tmp) np ++;
68               else np = 0;
69               if(np == d) { ok = 0; break; }
70               nsta = putp(nsta, d, j, np);
71             }
72             if(!ok) continue;
73             dp[i+1][nsta] = (dp[i+1][nsta] + dp[i][si]) % MOD;
74           }
75         }
76       }
77       ans = 0;
78       for(int si = 0; si < lim; ++ si)
79         ans = (ans + dp[n][si]) % MOD;
80       printf("%lld\n", (ans - pre + MOD) % MOD);
81       pre = ans;
82     }
83     printf("%d\n", ba);
84   }
85   return 0;
86 }
View Code

 

K题 - Colorful Toy

几何+Ponya定理。

现在暂时不太会。留个坑。

 

L题 - Trie

不会。

转载于:https://www.cnblogs.com/UtopioSPH001/p/10048858.html

11、气动外形优化中的连续伴随方法 本文探讨了连续伴随方法在气动外形优化中的理论背景、实现和验证过程。通过使用DLR的FLOWer求解器,将伴随方法应用于Euler和Navier-Stokes方程,以高效计算成本函数梯度,从而显著减少优化过程中的计算成本。文章还介绍了该方法在RAE2822翼型和ONERA M6机翼等案例中的应用,并展示了其准确性和效率。未来展望包括扩展到复杂流动模拟和多学科优化。 阅读详情

相关推荐

储能系统架构和控制

探讨了储能系统中EMS(能源管理系统)、BMS(电池管理系统)和PCS(功率转换系统)之间的协同机制,以及组串式和集中式储能系统的技术架构、优势和局限性。EMS根据电价、电网需求和电池状态制定充放电策略,BMS提供电池数据,PCS执行充放电控制。组串式系统具有独立管理和灵活扩展的优势,但成本较高;集中式系统成本效益高,但存在环流和木桶效应问题。

蓝龙宝藏的博客 3965

2014ACM/ICPC亚洲区鞍山赛区现场赛 题解

【题目链接】http://acm.hdu.edu.cn/search.php?field=problem&key=2014+Asia+AnShan+Regional+Contest&source=1&searchmode=source 【B】题意:对于每一个窗口,有两个属性:优先级+说过的单词数,支持8个操作:新建窗口,关闭窗口并输出信息,聊天(置顶窗口加单词),把优先级最高的窗口移到最前,

I good vegetable a! 1334

Prompt Learning 简介

• Prompt Learning 可以将所有的任务归一化预训练语言模型的任务• 避免了预训练和fine-tuning 之间的gap,几乎所有 NLP 任务都可以直接使用,不需要训练数据。• 在少样本的数据集上,能取得超过fine-tuning的效果。• 使得所有的任务在方法上变得一致。

jxsdq的博客 1万+

2014 Asia AnShan Regional Contest 题解

B:5071 Chat

poursoul 1473

移动机器人底盘-四轮差速模型(四轮独立)

对于底盘的前轮和后轮来说,其速度是同步的,那么在理想条件下,可以将底盘运动视为以ICR为圆心做圆周运动,对于四个轮子来说,圆周运动的角速度是一致的,圆周运动圆心ICR始终位于底盘几何中心COG的y轴延长线上,ICR与COG之间的距离。有关,整个底盘的速度位于速度瞬心COM处,用。四轮差速底盘设定左轮、右轮得速度分别为。圆周运动的角速度公式如式1所示。受约束,约束与圆周运动的角速度。合成,设四个轮子的速度分别为。,设左轮和右轮之间的轴距为。为圆周运动角速度,线速度为。,其均由预设目标速度。

Moresweet 猫甜 1万+

电力系统实时仿真技术:从硬件在环到主流平台实践

实时仿真是一种基于高性能计算硬件,在严格时间约束下模拟物理系统动态行为的关键技术。其核心原理在于通过硬实时计算,确保仿真步长内的模型求解与输出时间严格同步,从而构建高保真的虚拟测试环境。这项技术的核心价值在于为电力电子、新能源并网等复杂系统的研发提供了无风险的“数字沙盘”,能够安全地验证控制器逻辑、保护装置动作及系统稳定性。在工程实践中,硬件在环测试通过连接虚拟模型与真实硬件,形成了控制器硬件在环和功率硬件在环两大主流应用场景,广泛应用于设备研发、电网安全分析和人员培训。本文聚焦于电力系统领域,深入解析了实

weixin_30952479的博客 420

2014 Asia AnShan Regional Contest (dp)

Hatsune Miku Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 705    Accepted Submission(s): 506 Problem Description Hatsune Miku is a

龙崎的专栏 584

MATLAB实现灰雁优化算法(GGO):从原理到实战的详细级教程

灰雁优化算法(GGO)是一种新型群体智能算法,模拟灰雁迁徙和觅食行为。算法通过领导更替机制、V形编队飞行和群体觅食策略,平衡全局探索与局部开发能力,具有收敛精度高、避免局部最优等特点。在MATLAB环境中,算法实现包括初始化种群、迭代更新领导雁、执行编队飞行和觅食行为等核心模块。用户可根据问题维度设置参数,通过收敛曲线和可视化分析评估性能。关键参数如领导更替频率、V形编队强度和觅食强度需根据问题复杂度调整,以获得最佳优化效果。该算法适用于各类优化问题,具有较好的鲁棒性和稳定性。

fx666_的博客 1212

[HDU 5079][2014 Asia AnShan Regional Contest]Square(DP套DP)

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5079题目大意给你一个n⋅n(n≤8)n · n(n ≤ 8)的棋盘,上面有一些格子必须是黑色,其它可以染黑或者染白,对于一个棋盘,定义它的优美度为它上面最大的连续白色子正方形的边长,对于每个0≤i≤n0 ≤ i ≤ n,问有多少种染色方案使得棋盘的优美度为ii?题目来源2014 Asia AnShan R

某沙茶的OI代码库 2165

BMS | 从一串到几百串硬件架构简介

锂电池在生活中越来越多的方面扮演能源的角色,除了大家熟知的电动汽车行业,在一些消费类,工业类电子产品比如手机,电动自行车,电动工具中都有应用,追本溯源今天我们一起来学习下最基础的BMS架构。 1~4串架构 以S8241为代表的无通信/无固件/模拟器件 可实现过充保护、过放保护、过流/短路,参数由器件后缀代码决定;通信类手持设备供电系统;1~4节电池保护板架构 如图使用S-8241系列保护IC,一对充放电MOS管控制充放电的回路的切断和接通,系统供电来自于电芯电压,VM引脚用于检测过...

ningvay的博客 9917

STM32驱动数码管:从硬件连接到动态显示实现

本文详细介绍了使用STM32单片机驱动数码管的完整流程,从硬件连接到软件实现。内容涵盖共阳/共阴数码管原理、GPIO配置、段码表生成,并重点解析了多位数码管动态显示的核心技术,包括动态扫描原理、消影处理及实战代码,帮助开发者快速掌握这一嵌入式开发基础技能。

p5l2m9n4o6q的博客 574

HDU 5079(2014 Asia AnShan Regional Contest J)

。。。第一篇博客。。。 。。。大半夜的睡不着随手把晚上想的做法写了一下。。。然后就过了。。。 。。。12000ms的时限。。。我的代码跑了234ms。。。自己都吓傻了。。。 。。。感觉不算太难。。。不过根据我们队的手速和智商和AC率和这套题B题的大坑和两个队友双挑同步赛的状况。。。我们基本是没什么希望能在场上过这题的。。。赛后嘴巴AC下还是可以的。。。 题目

gxnncrx1993 1747

NX二次开发(Python)-UIStyler-选择体和按钮操作

用UG NX的UIStyler块界面编辑器,生成带有“选择体”和“按钮”操作的一个界面,如下图所示:

GimiGimmy 2311

The 2014 ACM-ICPC Asia Anshan Regional Contest 一些题解

大型码力竞赛现场…… I - Osu! 很简单,照着题意计算一下就行 E - Hatsune Miku 是个DP,dp[i][j]代表位置i选择音符j获得的最大值,对i,i-1分成四种情况进行讨论,答案就是max(dp[n][i])max(dp[n][i])max(dp[n][i]) #include &lt;bits/stdc++.h&gt; #include&lt;cstring&gt; #i...

limn204的专栏 332

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

The 2014 ACM-ICPC Asia Regional Anshan

继续复盘下一场Regional! 【A】-_-/// 【B】模拟(之前每次遇到模拟、暴搜都直接跳了,题目太长也是一个原因...下次是在不行可以尝试一下) 【C】数论互质、容斥? 【D】数学推导(方差)+贪心 【E】签到DP 【F】-_-/// 【G】最小割的灵活运用 【H】搜索+打表 【I】签到题 【J】-_-/// 【K】计算几何、置换群(Polya计数) 【L】...

weixin_30715523的博客 238

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

zoj3822 Domination 概率dp --- 2014 ACM-ICPC Asia Mudanjiang Regional Contest

一个n行m列的棋盘,每次可以放一个棋子,问要使得棋盘的每行每列都至少有一个棋子 需要的放棋子次数的期望。 dp[i][j][k]表示用了k个棋子共能占领棋盘的i行j列的概率。 那么对于每一颗棋子,在现有的棋盘上,它可能有四种影响:新占了一行,新占了一列,既占了新的一行又占了新的一列,无影响。 对于每一种情况,dp[i][j][k]=原始状态的概率×选到这样的位置的概率 最后算答案的时候

Unknown 1179

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HDU 5072 Coprime 2014 Asia AnShan Regional Contest 容斥

#include #include #include #include #include using namespace std; ///// template inline bool rd(T &ret) { char c; int sgn; if(c=getchar(),c==EOF) return 0; while(c!='-'&&(c'9')) c=getchar();

九野的博客 1594

训练计划(2019)

2013 Pacific Northwest Region Programming Contest补题 The 2014 ACM-ICPC Asia Anshan Regional Contest 2016 CCPC Hangzhou Onsite(部分题) 2018-2019 ACM-ICPC, Asia Shenyang Regional Contest(补题) 2019 M...

arxd45524的博客 228

2014 ACM/ICPC Asia Regional Contest - B

题目大意: 在坐标轴的第一象限有若干个点,保证点的位置不重复,可以用四个点围一个四边均平行于坐标系X,Y轴的矩形篱笆。要求从给出的若干个点中选出八个点围出两个不相交的(点,边重合也算相交)矩形,并使围出的面积最大,求出这个最大面积。 题目思路: 由于n的范围非常小,而且由左下和右上两个点便可以确定一个矩形。实际上只需要暴力枚举n^4便可以得出所有的矩形组合。这题的坑点在于一种特殊的形

JeffCsoul 461

2014 ACM-ICPC Asia Anshan Regional Contest(Online Version)

题目I -Osu! -HDU 5078 题目分析:最水的一道题吧,求两点间的距离和时间差值的最大比值 #include<stdio.h> #include<math.h> #include<algorithm> using namespace std; const int MAXN = 1007; const double EPS ...

weixin_30951389的博客 135

HDU5072Coprime 容斥原理+双色三角形 2014 Asia AnShan Regional Contest

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5072 题意:在1e5个数(<=1e5)中,找出有多少对(a,b,c) , 满足 ( gcd(a,b)==1 && gcd(a,c)==1 && gcd(b,c)==1 ) || ( gcd(a,b)!=1 && gcd(a,c)!=1 && gcd(b,c)!=1 ) . 这很像白书上一道双色三

alpc_wt的专栏 870

2014-2015 ACM-ICPC, Asia Xian Regional Contest G

Problem G. The Problem to Slow Down You Description After finishing his homework, our problem setter Federmann decided to kill time by hanging around online. He found a cool chat room that discusse

CRZbulabula的博客 1089

「备战PKUWC2018」2017-2018 ACM-ICPC, Asia Daejeon Regional Contest

这些题很不错,一股劣质NOIP模拟赛的味道,以后出题可以拿来用(雾) A. Broadcast Stations 坑。 B. Connect3 题意:两个人玩在一个 4×44 \times 4 的方格里进行的游戏。黑方先手,轮流在格子里放棋子。一个格子能被放棋子当且仅当该格下方所有格子都放满了棋子。一方获胜的条件是当且仅当存在横向,纵向或斜向的三个格子,都放着该色棋子。告诉黑方第一次放

infinity_edge的博客 2530

ACM-ICPC 2014 Anshan Warm-up (鞍山赛区热身赛) D题

白气球入手一枚,吾辈是第30个写出White的~

CD's Coding 1201

hdu 5073 Galaxy 2014 Asia AnShan Regional Contest

这一题我开始YY的算法是贪心==但后来感觉不对。 因为将某个质点移到质心处产生的动量是0,所以最后的质点系一定是连在一起的中间一段,因为这样各个质点距离质心越近。 质心的公式是 显然移动到质心的质点越多最后的动量也就越小,所以最后剩余个质点,对应的质心公式为 对应的动量为 所以只要从左到右遍历所有的[l,r]区间找到最小动量的区间即可。当然首先需要将坐标排序,我开始给忘了> 注

TimeForMiracles 635

2014 Asia AnShan Regional Contest --- HDU 5073 Galaxy

 Galaxy Problem's Link:   http://acm.hdu.edu.cn/showproblem.php?pid=5073   Mean:  在一条数轴上,有n颗卫星,现在你可以改变k颗卫星的位置,使得剩下的n-k颗卫星到某个点(不固定)的距离的平方和最小。   抽象成数学语言后等价于:数轴上有n个点,现在去掉k个点,使得剩下的n-k个点的方差最小,求方差*n...

weixin_34216036的博客 167
上一篇: 2013 Pacific Northwest Region Programming Contest补题
下一篇: 2018-2019 ACM-ICPC, Asia Shenyang Regional Contest(补题)
arxd45524
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值