CF147B Smile House】的更多相关文章

题目大意:给定一个有向图,其中边有边权.求点数最少的正环的点数. 题解:建立矩阵,处理其二进制上每一位的状态.时间O(n^3*log(n)). 代码: #include<cstdio> #include<algorithm> using namespace std; #define N 305 #define ll long long #define inf 0x7fffffff int n,m; struct jz { ll s[N][N]; bool check() { ;i&…
CF147B Smile House 二分+矩阵快速幂,注意一下储存矩阵相乘结果的矩阵,初始化时,a[i][i]=-inf(而其他都可以a[i][i]=0,为了保证答案的可二分性). CF715B Complete The Graph 注意一下还没加的权值为0的边,权值赋为inf,否则可能影响前面生成的最短路. CF37E Trial for Chief 最短路模板不解释. 但是注意图上没有黑色的情况... [咕谷10月月赛||]游览器 二进制意义下,有奇数个1的数的个数,乘,有偶数个1的数的个…
Smile with face. Smile with mind.微笑不仅是挂在脸上的,更是发自心底的.…
题目链接  Smile House 题意  给定一个$n$个点的有向图,求一个点数最少的环,使得边权之和$>0$,这里的环可以重复经过点和边.   满足  $n <= 300$ 首先答案肯定是单调的,但是观察发现只有当我们给所有的点加一个自环的时候才满足这个性质. 考虑$DP$.设$f[i][j][k]$为长度为$i$,从$j$走到$k$能经过的最大边权和. 那么$f[i][j][k] = min(f[i-1][j][l] + g[l][k])$,这样的预处理是$O(n^{4})$的,$TLE…
题目链接 Snowy Smile Problem Description There are n pirate chests buried in Byteland, labeled by 1,2,-,n. The i-th chest's location is (xi,yi), and its value is wi, wi can be negative since the pirate can add some poisonous gases into the chest. When yo…
HDU 6638 - Snowy Smile 题意 给你\(n\)个点的坐标\((x,\ y)\)和对应的权值\(w\),让你找到一个矩形,使这个矩阵里面点的权值总和最大. 思路 先离散化纵坐标\(y\)的值 对\(n\)个点根据横坐标\(s\)进行排序 枚举横坐标,按顺序把点扔到线段树里,以离散化后\(y\)的\(id\)为下标\(pos\),存到线段树里 因为线段树可以在\(\log{n}\)的时间内插入数值,在\(O(1)\)的时间内查询当前区间最大子段和(线段树区间合并) \(node[…
Snowy Smile 题目传送门 解题思路 先把y离散化,然后把点按照x的大小进行排序,我们枚举每一种x作为上边界,然后再枚举其对应的每一种下边界.按照这种顺序插入点,这是一个压维的操作,即在线段树中的y位置加上其w,并利用线段树来更新动态的最大子段和. 代码如下 #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; typedef long long ll; const int N = 2005; stru…
If you see someone without smile, give them one of yours. 难怪我每次和不认识的人说话都放肆大笑.…
资源 https://haifengl.github.io/ https://github.com/haifengl/smile 介绍 Smile(统计机器智能和学习引擎)是一个基于Java和Scala的快速.全面的机器学习.NLP.线性代数.图形.插值和可视化系统. 凭借先进的数据结构和算法,Smile提供了最先进的性能.Smile有很好的文档记录,请查看项目网站以获取编程指南和更多信息. Smile涵盖了机器学习的各个方面,包括分类.回归.聚类.关联规则挖掘.特征选择.流形学习.多维缩放.遗…
题目链接:http://codeforces.com/contest/147/problem/B 求有向图的最小正权环的大小   ${n<=300}$ 非常显然的有${n^{3}log^2}$的做法,令${f_{(s,i,j)}}$表示从第${i}$个点走到第${j}$个点走了${2^{s}}$步的最大权值,然后二分答案,每次利用$f$数组计算答案. 问题在于算一下时间感觉是不太对的...然而居然跑过去了 QwQ #include<iostream> #include<cstdio…