Rails

第一个Rails半成品的一些经验

Posted on

简单说就是数据库课设,趁我现在保留着对整个程序的开发过程,这里简单阐述一些过程。 因为以前忘的多了,加上比赛啊,什么的,有点赶,还有两个功能没能实现,不过勉强还是能拿出手 主要学习来源 向作者ihower致敬 顺便在最前面展示一下成果主页 Rails 核心思想 众所周知,Rails 以开发速度闻名,我写完统计了一下代码量,所有代码应该不包含注释也不过 400 行多一点。 而其核心思想在于规定化,也可说是标准化。用一些内置函数去生成代码。 举个例子,在路由(Route)上,根据MVC规则,每一个网址都应该有一条路由与之相对应。rails则使用标准化的RESTful 而因为是函数,所以它的参数都必须与其相对应,所照成的缺陷也很显然,内置函数使用上限不足,完美自定义的网站仍需要自己去架构。为此Rails 也构造了更多的内置函数,为的是提高总体使用上限。当然所造成的结果会是有一些函数的作用重叠。但 […]

树形DP

CodeForces 855 C Helga Hufflepuff’s Cup

Posted on

前几天的上分场的树形DP 我敢说思路和我当时想得已经一模一样了,还有半个多小时的时候,gou bi 带鱼说把题目给他看一下,然后立马得出,树形DP解不了,肯定是树分治! 当时我在一个子问题上走不出来,于是就信了,然后开始划水…… md 题意: 给你一棵树,要你给树上的每一个节点赋值,赋值存在范围,再给你一个特殊值,除开特殊值意外的数值赋值次数不限,但是特殊值的相邻节点的值不能是特殊值,也不能是比特殊值大的值。 问方案数。 思路: 首先值得注意的是,特殊值赋值次数不超过10,这是一个重要突破口,这使得树形DP的解法存在可能性。 简单说就是在每个节点都保存当前节点为根节点的子树分别含有 [ 0, 10 ] 个特殊值的方案数。 但这还不好决策转移,我们还需要对当前值的范围作为状态进行判断。 我在比赛中只用了,当前值为特殊值,和不是特殊值两个状态,但是现在看了其他人的代码,发现三个状态更容易。 当 […]

Rails

Rails 使用 carrierwave 上传文件

Posted on

……崩溃,找了很久的资料,最后找到一份template才解决问题。 carrierwave是一个rails 上传文件的 gem,然而用不来…… 作者在 github 上的文档真的很没有条理性 前言 偶然间看到这篇文章,希望读者也可以多思考一下。 现在框架发展这么迅速,各种api泛滥,我们在寻求解决一个问题的时候,往往会有点急功近利。如果你考虑了底层实现,那你才是真正学到了东西,并能广泛运用它。否则,你顶多只是积累了当前框架或者api的使用经验。换了一个框架你就完全不会了。 但我的确是看完了这篇文章,我也的确去思考了,但是还是不会用!!! 因为网上很多文章和博客都忽略了一个非常重要的地方,下面我会说明。 这里详细介绍一下 carrierwave 的用法,并假设你已经开了上面那篇文章并思考过了。 安装 首先是安装,在gemfile中输入 gem 'carrierwave', '~> 1. […]

矩阵快速幂

计蒜客 Coin 附带矩阵加速模板

Posted on

大概是第5次写矩阵快速幂…… 这道题在DP还是矩阵上都是属于简单范畴……,但没想到用DP就很烦…… 感觉矩阵加速还是挺有必要学一下的…… 顺带学了一下什么叫分数取模用逆元 题意: 让你抛 k 次 硬币,求上面朝上的次数为偶数的概率。 单次正面朝上的概率为 \( \dfrac {q} {p} \) 思路: 令 dp [ n ] [ 0 ] 表示抛了 n 次后,朝上次数为偶数的概率,dp[ n ] [ 1 ] 则表示奇数的概率。 得转移方程 $ dp[n][0] = \dfrac {p-q} {p} \times dp[n-1][0] + \dfrac {q} {p} \times dp[n-1][1] $ $ dp[n][1] = \dfrac {q} {p} \times dp[n-1][0] + \dfrac {p-q} {p} \times dp[n-1][1] $ 然后矩阵加速一下就 […]

暴力

hihocoder 1513 小Hi的烦恼

Posted on

别看了……bitset入门题…… bitset就是将32个01位操作整合成一个32位整数,一次位操作。 作为一个位运算的优化方法,可以省去 \( 2^5 \)的时间复杂度。 有些大佬 sb 就故意让你 \( O ( n^2 ) \)过不了,加个 bitset 优化就可以卡过去了。 不过也可以说是一个很巧妙的操作。 这题是今晚出去撸串的时候听其他三个沙雕吹的一道题,今晚补上。 题意: 给你一群学生每门功课的排名,总共 5 门学科,问你对于每个学生,所有成绩排名都比他高的学生数有多少。 不存在共列一个名次的数据。 思路: 很暴力…… 直接\( n^2 \) + bitset 优化就可以卡过 但是不知道为什么,我的循环在 [ 1, n ] 就 T 了,[0, n ) 就 A 了…… #include <bits/stdc++.h> #define each(i, n) for (in […]

树形DP

CodeForces 19E Fairy

Posted on

一道二分图性质的应用 + 树形DP ? 看博客里都说是树形DP,但我觉得应该是树上前缀和更加合适一些 题意: 给你一个图,让你删除一条边,使得剩下的图是二分图。 输出可删边数并顺序输出边的序号。 思路: 首先你必须知道判定二分图的充要条件 —— 不存在奇环。 如果只是让你判定二分图的话,倒是随便搜一遍就可以解决的问题。 但是这里必须让你删掉一条边…… 写不来……感觉不好写,最后无奈去看题解了…… 先整理一下判断思路: 如果不存在奇环,那么原图本来就是一张二分图,每一条边都满足条件 覆盖了所有的奇环,并且不能覆盖偶环的所有边 为什么同时不能覆盖偶环,这个我还真没想到,但是在纸上画一画就是很显然的了,同时覆盖奇环和偶环的边删去后,两个环会变成一个新的环,偶数+奇数 还是奇数。所以不能覆盖偶环。 因此得出如下具体实现,随便生成一棵生成树,用树上前缀和计算出每一条树边覆盖的奇环数和偶环数。 如果奇 […]

书评影评

《刀剑神域:序列之争》个人简评

Posted on

刚看完,特想大喊一声:“爽!” 真的,光是100层BOSS战对我来说来回看个10遍还是很过瘾!! 等等,100层BOSS说好不是茅场么?? 不管是那种应对庞然大物,咬牙切齿挥舞着两把剑,还是在刀刃下切割的肉体,这种激烈的战斗场面真的只有 虚拟的 二次元中才会拥有!!当然整部动漫的战斗场面更是在BOSS战中达到了巅峰!! 抛开战斗场面不说,情怀分就可以达到满分,两季TV出现的角色都会在这里以各种形式出现,因为要夺取SAO幸存者的记忆,虚拟现实的玩家锐减,角色的出现显得比较自然,在最后BOSS战中又是还原了各自最具有特色的装备,在情怀上也是上升到了极致。 另外在剧场版再次强调了亚丝娜正宫的位置,狗粮发的也是诚意满满,在洗面奶的那个场景亚丝娜居然没有一点脸红,观众席都是一片哗然…… 话说字幕组对亚丝娜的名字翻译总是在亚丝娜和明日香之间来回随机跳跃是几个意思呀……强迫症表示受不了…… 因为有yun […]