当前位置: 首页 > news >正文

基础型网站套餐网站建设南京公司

基础型网站套餐,网站建设南京公司,wordpress js跳转,开发一个软件需要多久正题 loj 3026 题目大意 给你一棵树#xff0c;和若干匹配串#xff0c;如果一个节点向下的某条链构成了匹配串i#xff0c;则可以花费这w_i匹配这条链#xff0c;问你匹配完所有点的最小代价 解题思路 这题可以理解为树上树上的线性规划 先对于每个匹配串倒着建trie和若干匹配串如果一个节点向下的某条链构成了匹配串i则可以花费这w_i匹配这条链问你匹配完所有点的最小代价 解题思路 这题可以理解为树上树上的线性规划 先对于每个匹配串倒着建trie然后每个点向父亲跑trie当跑到一个匹配串时就连接头和尾费用为wiw_iwi​流量inf 然后每个点向子节点连流量inf费用0的边 s向叶子节点连流量1费用0的边如果一个点的子节点大于1就把多余的流到t1要把所有流量流到t 就在树上找到匹配串然后就是经典的线性规划 代码 #includequeue #includecstdio #includecstring #includeiostream #includealgorithm #define ll long long #define N 510 #define M 1000100 using namespace std; ll n, m, T, x, s, t, w, tot, ans, sum, summ; ll h[N], f[N], b[N], fr[N], fa[N], deg[N], v[M], wh[M], to[M][26]; char cl[N], st[M]; bool p[N]; queuelld; const ll inf 1e15; struct rec {ll to, next, f, w, c; }e[N*N2]; void add(ll x, ll y, ll f, ll c, ll w) {e[tot].to y;e[tot].f f;e[tot].w w;//编号e[tot].c c;e[tot].next h[x];h[x] tot;e[tot].to x;e[tot].f 0;e[tot].w 0;e[tot].c -c;e[tot].next h[y];h[y] tot;return; } void insert(ll x, char* s, ll whi) {ll now 0, len strlen(s1);for (ll i len; i 0; --i){ll y s[i] - 97;if (!to[now][y]) to[now][y] w;now to[now][y];}if (!v[now] || x v[now]){v[now] x;wh[now] whi;}return; } void dfs(ll x) {ll now 0;for (ll i x; i ! 1; i fa[i]){ll y cl[i] - 97;if (!to[now][y]) break;now to[now][y];if (v[now]) add(x, fa[i], inf, v[now], wh[now]);}return; } bool spfa() {memset(b, 127/3, sizeof(b));memset(f, 0, sizeof(f));memset(p, 0, sizeof(p));while(!d.empty()) d.pop();d.push(s);p[s] 1;b[s] 0;f[s] inf;while(!d.empty()){ll u d.front();d.pop();for (ll i h[u]; i; i e[i].next){ll v e[i].to;if (b[u] e[i].c b[v] e[i].f){fr[v] i;b[v] b[u] e[i].c;f[v] min(f[u], e[i].f);if (!p[v]){p[v] 1;d.push(v);}}}p[u] 0;}return f[t]; } void dfs() {ll now t;while(fr[now]){e[fr[now]].f - f[t];e[fr[now]^1].f f[t];now e[fr[now]^1].to;}ans f[t] * b[t];sum f[t];return; } int main() {scanf(%lld%lld%lld, n, m, T);tot 1;for (ll i 2; i n; i){scanf(%lld, x);fa[i] x;add(x, i, inf, 0, 0);deg[x]; cl[i] getchar();while(cl[i] a || z cl[i]) cl[i] getchar();}s n 1;t n 2;for (ll i 1; i m; i){scanf(%lld%s, x, st1);insert(x, st, i);}for (ll i 2; i n; i){dfs(i);if (!deg[i]) add(s, i, 1, 0, 0);else if (deg[i] 1){add(i, t, deg[i] - 1, 0, 0);//多的流掉summ deg[i] - 1;//计算理论总流量}}add(1, t, deg[1], 0, 0);summ deg[1];while(spfa())dfs();if (sum summ)//有的边到不了{puts(-1);return 0;}printf(%lld\n, ans);if (T){ans 0;for (ll i 2; i n; i)for (ll j h[i]; j; j e[j].next)if (e[j].w e[j].f inf)//输出方案ans;printf(%lld\n, ans);for (ll i 2; i n; i)for (ll j h[i]; j; j e[j].next)if (e[j].w e[j].f inf)printf(%lld %lld %lld\n, e[j].to, i, e[j].w);}return 0; }
http://www.yutouwan.com/news/356857/

相关文章:

  • 公益网站设计建设网站定制
  • 虚拟主机有哪些温州百度推广排名优化
  • 在农村开个网站要多少钱公司做的网站搜索不到
  • 网站高并发前端怎么做什么叫网络架构
  • 网站栏目结构图如何建设一个网站站
  • 网站意见反馈源码中国桥梁建设公司排名
  • 深圳网站建设app开发做服饰的有哪些网站
  • 吴中区做网站的公司公网怎么做网站
  • 建设网站公司哪里好wordpress 反应慢
  • dw网站根目录怎么做万网安装wordpress
  • 提升网站权重的方法网站做搜索引擎优化
  • 建立网站批复企业网址是什么?
  • 自己怎么设置会员网站劳务分包网
  • 电子商务网站建设.pdfidea网站开发
  • 建设银行u盾用网站打不开响应式模板网站模板下载
  • 石狮市建设局网站如何免费做网络推广
  • 软件专业做学校网站论文怎么选题河北省住建和城乡建设厅网站首页
  • 甘肃省建设局网站首页宜昌网站优化
  • 网页添加兼容性站点怎么在工商网站做实名认证
  • 2在线做网站给新公司做网站要多少钱
  • 企业网站建设好的案例如何搭建一个企业子账号网站
  • 开平设计网站免费网站重生做军嫂
  • 做婚恋网站的翻译好吗绿色风格 网站
  • 做家教网站赚钱么竞价托管咨询微竞价
  • 象山县城乡建设局网站官方网站车联网是谁做
  • 电商网站开发脑图写论文的网站
  • 中国公路建设行业协会网站上wordpress网站前端优化
  • 建设网站文献seo短视频永久入口运营
  • 移动端网站怎么制作搜索引擎营销成功案例
  • 如何做哟个优惠券网站上海对外经贸大学