發表文章

目前顯示的是 2014的文章

<斬!赤紅之瞳>一些觀後雜想

這篇文章不會有雷 我最初是聽到朋友跟我推薦、介紹這部的劇情設定,但沒讓我感興趣到想看,後來看到這篇 由 <斬!赤紅之瞳>談正義論 ,才勾起我的好奇心,想看看到底是怎樣的故事,這一個禮拜好幾天晚上程式寫的差不多之後,睡前補個幾集,到昨天補到最新集(18) 看完後我跟朋友聊,我們都有共識說這部劇情應該可以更緊湊一些的,有些集的內容有點湊數,一些打小囉囉的無謂橋段省去,拿來做 Night Raid 或 Jaegers 的成員的過去可能會好些,另外我想到有一點很有趣的是,如果你是在不知道背景設定的情況下去看 Jaegers 某些人物的對話,你會覺得好像 Jaegers 是正義的一方,可是他們其實是腐敗政權的獵犬 我先講一些我認為的小缺點,第一個是,有些角色領便當的橋段設計的有點倉促或有點草率,在發便當前,才做點該角色過去怎麼樣,接著就 gg 了,雖然說這點是寫實的:「殺手的命本來就很飄渺,一不小心還是運氣不好就會掛點」,但這是故事,故事要好看,角色的魅力通常很重要,而角色的魅力需要一些(精心構思、神來一筆的)橋段或對話去凸顯出來,也許一開始人物放少一點,會讓每個角色平均起來有更多時間去描繪吧,養起讀者對角色的認同、欣賞、厭惡...或是任何強烈的情感或情緒,也是一部作品是否夠成功的指標之一 ,甚至看完後還「餘韻不絕」那是更了不起了 第二,雖然這部賣肉算少了但還是有,有些人可能對這點很反感(相對的也有些人很喜歡),故事設計女角喜歡男主角是很常見的事情,但我覺得賣肉在這部真的不是那麼必要,我知道有的電影、小說,賣肉是很好的做法,顯示人物的某些習性(比如生活淫亂的皇帝、有不知名疾病的人...等等)、為了某種藝術性(這我想不到什麼例子)、或是根本賣肉就是主題之一 … 但也可能是跟我的預期有關吧,看了前幾集,我心想這故事主軸看起來就是暗殺集團輔助革命軍推翻腐敗帝國的種種過程,而暗殺集團和腐敗政權的走狗之間的交鋒、因立場或理念不同激起的衝突,這之間實在有不少有意思的人性和劇情可以呈現,換句話說就是我覺得這樣的背景和角色設定很有潛力,我預期看起來的感覺會類似於<進擊的巨人>最近的發展那樣,但到目前的最新集為止,是有點不如預期,讓我實在忍不住會想:「可以把那些賣肉的橋段去掉,做點更有意思的好嗎?」 大致講完想講的幾個可...

It's your choice

今天早上跟朋友講電話後,他說的話和前一陣子我們討論過的問題,剛剛不知道為什麼一直在我腦海浮現,甚至讓我回想起自己之前的一些狀況,我覺得值得寫一下 我朋友他聽到一個(他不熟的)長輩跟他說:「人生不只有讀書和工作而已」,這話惹到他,那我問他為什麼覺得不爽,他說因為讀書和(準備)工作的事情就忙不完了,哪有時間管其他的,他的想法我能理解,因為我的狀況也很接近,但我很好奇讓他不高興的更深層原因是什麼,我沒聽到前後對話,可能是前後還有什麼導火線也說不定 我聯想到之前一個學姊問我說:「學弟,為什麼你常在 FB po 些憤世嫉俗的文啊?我聽一些學弟妹說的。」不知道為什麼這段話當下讓我莫名的超級不爽,之後我立即寫了一篇文記錄這段過程以洩憤,後來偶而想起來覺得非常奇怪,因為在我的生活裡不常有讓我不高興的事情,可以立即激起我火氣的更是少之又少,可能是因為戳中我痛處了? 我確實是對自己的現狀和環境有某些不滿沒錯,可是我很早就修正自己的態度,要改變現況要嘛就實際行動去解決它,不然就脫離自己不滿意的環境到新地方去,我當時好像是很沒有自信,因為找不到什麼可以讓我自信和自我肯定的事物,比如成績、專長、朋友...之類的,那時第一次到資工系修一些課,結果自己表現並不怎麼樣,我對於自己所在社團的活動也不怎麼投入,在之前幾次的經驗裡感受不到踏實感和意義,當時讓我比較投入和專注的事情之一就是寫些自己想寫的東西,結果不知道為什麼被一些人解讀是「憤世嫉俗」,頗讓我意外,而且還是從一個我不怎麼熟的人口裡講出來 可能是因為被誤解或不被理解,加上我對自己確實很不滿意卻又無能為力,所以才會聽到一個不熟的人突然對自己下了莫名其妙的評論,就激起不低的怒氣吧 可是我和我朋友會到今天這個地步,自己難責其咎,昨天上一個湊學分的課,老師講了一些東西讓現在的我滿有感覺(相對於大一大二),就是老師要我們稍微估計一下自己出社會工作後每月的支出,和目前大學畢業出去的起薪水準的差距有多少,想一想這是不是你要的生活,你現在每天下課回去繼續打電動、打球、跑社團...,過著和往常一樣的生活沒問題, It’s your choice ,但之後如果畢業後面臨讓你過的不是很開心的(物質)生活,不要怨不要怪,因為你多半曾經有機會去準備和做得更好,但你沒有,無論是因為環境、酒肉朋友影響,讓自己變得淺薄無知無能無遠見 我現在覺得立志要...

關於我的學習動力和克服厭倦感

前幾天晚上跟朋友聊到我讀書動力的事情,我有這些想法滿久了,只是好像一直沒跟人講過或寫在文章裡面,那時候講出來真的有點快感 是這樣的,上大學這幾年來我去圖書館或待在住處做功課,不常感受像以前國中高中那時讀書的狀態,圖書館雖然總是會有人在用功,但對我似乎沒多少激勵作用,回想以前中學狀況不錯的時候,大多是跟認識的人或朋友一起念,不然就是 有「明顯的競爭對手」或「我視為競爭對手的人」在我眼前努力 ,例如:在同一個補習班內,大家的目標都是要拚基測、考高中、也認知在這裡的人都應該是這樣的,看到「競爭對手」還在努力,無形中就拉了自己一把,讓我可能比我自己一個人念時可以堅持更久,在這種環境下, 要克服動力問題相對容易許多 ,這點滿重要的,只要方法不太差,每次這樣多累積一些,長期下來跟別人就是一段差距了 國中高中那時候在學校待很久、我國中時還有補習,那時後其實並不是不會有讀書的厭倦感,我們都是人,除了上一段提到的因素讓克服厭倦感比較容易之外,我覺得「強迫性的高密度課程和考試」也有關,通常如果老師上的還可以、聽老師講比自己念有效率,當然選擇上課,省的回家以後多耗時間、划不來,就算當下覺得有點煩,可是人就在教室裡,跑不到哪裡去,如果這時最佳運用時間的做法就是上課的話,還是上課吧,況且周遭有幾十個人也在上課, 看到旁邊有很多人跟你做一樣的事,好像有某種感染效果 ,會讓人不知不覺就接受繼續、不停的上課或考試 另外,我從慢跑經驗得到的想法,在有許多人的操場上跑,跟只有幾個人、甚至只有自己一個人在操場上跑,感覺確實不一樣,有時候看到一些大叔或熟面孔跑的那麼久還滿佩服的,這對自己多跑一些有沒有影響我無法確定,有幾次我本來預定跑幾圈,可是跑到快完成目標時,看到某些人還在跑,我衡量體力也還可以,我也繼續跑下去了,還有,有時候我會看目前在跑的人,有誰是速度跟自己比較接近且穩定的,我就故意跟在他後面,常常就完成比平常更多的圈數,大一有陣子每次都跑二十圈,好像就是從跟一個阿伯跑開始的,還有大二時跑 12, 13 公里(我跑最遠的一次),也是跟著一個大叔跑出來的,這遠遠超出我平時跑的量,我那時都跑7公里多,我完全沒想過突然去跑這個量,那個大叔鼓勵我跟著他跑跑看,我就勉強自己,結果超越自己的極限還不少,可是這樣做對腳的負擔很大,以後最好還是不要貿然這樣... 有點離題,我想,...

想的就是培養 skill 、想辦法之後要能養活自己

本來下的標題是: 「讀大學到底值不值得或划不划算」 ,以行銷來說的話也許不錯,不過這標題實在滿大的,而且後來打下來發現其實主題就是圍繞著自己目前「想培養技能、之後能養活自己」的想法,所以就改這個標題了,本篇內容主要是基於這幾天跟朋友聊的東西,在某些人眼裡看來可能會覺得我們講的事情偏頗或極端,不過會有這些想法,某種意義上也只是反應我們的現狀罷了 我和一個朋友的現況 我休學重考,現在大三升大四,系上大三的必修課完全沒修,如果想拿系上畢業證書絕對要延畢,目前正在學習 rails 和 web development 我一個朋友因為英文門檻還沒過,所以打算延畢半年來把多益門檻考過,順便考公職考試 現在的想法 老實說,就現實眼光來看,我們兩個都滿魯的,先說我朋友的想法好了,我有一些想法是從這些延伸而來,他覺得: 1. 他在大學裡沒學到什麼 skill  2. 不知道像他這樣,還有他的許多大學畢業、沒繼續念研究所的同學出去是要怎麼找工作 3. 有些沒唸研究所的畢業學長,做的工作似乎高職生就能做了 4. 他覺得當初高職畢業直接當兵、工作,到現在至少能存一些錢,甚至用這些錢補習、培養技能,比較有意義 5. 還好大學還有遇到幾個滿 nice 的同學,不然過得滿孤獨的 6. 讀大學、研究所都是一種投資,但是他不想再繼續念(投資)研究所 我覺得大學四年下來自己變得怎樣,有部分操之在己,不過也不可忽略環境因素,周遭的人渾渾噩噩或是很廢、合得來的同學不多、有啟發性或激勵性的事物不常遇到...等等之類的,人都多少會受影響、甚至侷限住自己的思維和思想 一切都是因為自己要養自己的未來即將到來... 人在每個階段關注的問題都不太一樣,假如現在的我們能跟四年前的我們講一些現在的想法,不知道會怎樣,我認為多半聽不下去或者視為異端邪說,當時滿腦子就是準備大考、考大學,而且周遭的同學都這麼做,師長也都講著考大學的事情,那種狀況下要聽一些讀大學的負面可能性、未來工作的事情,根本聽不進去、或是太遙遠了,總之先考到大學就對了,其他事情以後再說 我不知道我朋友是什麼時候開始思考未來工作的事情,我承認我滿後知後覺的,大一到去年這時候,我頂多在想修課、畢業的事情,大概到大三寒假的左右才有對未來生存的憂慮,最近這兩...

現況反省篇

今天早上跟我爸又在  爭論   我的現況,我怕時間一過之後,就沒那個衝動把這段記錄下來,吃完早餐後就趕緊來寫這篇 因為對話過程有點混亂,直接把我所理解的我爸的觀點列出來: 1. 拿過去的事情出來講沒有意義(例如沒選他建議的藥學系、休學、重考、選統計系...) 2. 解決我目前的問題(想辦法畢業)是最重要的 3. 我如果沒要拿文憑,那還留在大學做什麼? 4. 學非所用是普遍現象,而且就算我真的進入軟體業,我也可能後悔 我在對話當下有提出來的幾點 1. 我想進軟體業,目前最重要的是拿到進入軟體業的門票 2. 繼續修統計系的課實在很痛苦 3. 如果現在休學,就一定短時間內得去當兵,我認為這時去當兵不是一個好的時間點 就在這裡把一些事情講清楚,為什麼我認為現在去當兵不是一個好的時間點,我現在是沒文憑沒專長又沒作品的狀態,去當兵只是把一個義務完成,但空窗一年,對於改善前述狀態沒有任何直接幫助,而且某種學習的持續感和節奏斷掉了,這一年在學校修程式設計,對我這個初心者多少有幫助,打鐵趁熱,趁這時候繼續學下去,我認為會比較容易而且有機會累積出一些東西 為什麼我想進軟體業,首先是用刪去法,我不想從事服務業,我也自認做不來一些體力活和打雜工,以前打工過我覺得如果真做這些工作肯定生不如死,我也不是舌燦蓮花、跟人很容易熟的那種,業務之類的工作肯定吃癟,至於系上專業,因為系上許多課修得如此痛苦和應付過,畢業後也不可能靠統計吃飯,我不是理工科背景、物理化學不行、數學的高階能力我沒有,而程式設計需要邏輯、又有機會可以靠學歷以外的東西求職(機會多高我就不清楚了),相對也比較不需要我上述說的體力、跟人熟這類我非常欠缺的能力,所以我認為是一個可努力的方向 我想盡快找到(軟體業)工作、有養活自己的能力,因為覺得自己夠大了,不想繼續給爸媽養,也想減輕他們的負擔 現實殘酷我也不是沒聽說過,我對一兩年內的發展想過幾種可能的壞狀況,一是我下的功夫不夠,結果技術還是半吊子、找不到軟體業工作,二是我真的有做出東西,可是因為沒學歷或是作品不夠好...等等因素,一直拿不到面試機會或面試了但拿不到 offer ,三是真的給我拿到工作,但可能薪水頗差或是工作環境差,讓我過得很痛苦、喪失熱情、或萌生悔意....

讓自己可以繼續走下去

剛剛程設 demo 完,這學期的課程終於告一段落,有些無關技術的心得想在這篇講一下(雖說我也沒什麼技術可以分享就是...) 程設做 project 的過程,跟我以往課堂上經歷過的作業和考試有相當大的不同,只給你一個大方向(利用C++和某某函式庫)和需要的基本知識(C++的哪些編程概念),然後要你拼湊、打造出一個東西,用比喻來說的話,有點像是給你一堆積木和積木模塊,然後跟你說現在要組裝出什麼模型,組裝的過程沒人跟你講,也許有人或資料可以教你某些步驟,但其他部分就要自己摸索和組裝,那因為是摸索,所以一定有卡關的時候,這時懂得怎麼自救或問人就非常重要了,我事後覺得有的問題解法並不難,甚至滿簡單的,麻煩比較大的反而是找解法過程累積的情緒,有時候情緒大到會讓人不想繼續碰、想放棄(這臨界點因人而異,和決心、動機、過去經驗、學習的舒適圈...都有些關係),這經驗讓我意識到情緒管理對我而言可能是一直以來被我輕忽的課題,如果不想繼續走下去、厭倦了,什麼目標和進步都甭講 減緩、消除情緒的辦法,我把它們分成實的和虛的,所謂實的是指把目前問題解決掉、或者確實找到有效解法並開始做...之類的,壓力源:問題,解決了,焦慮感還是情緒自然就可以獲得緩解;所謂虛的就是休閒、運動、跟人聊天討論...之類的,這些事情雖然對解決問題沒有直接幫助,但根據經驗,如果做這些事情可以把想逃避、不想做事的情緒一掃而空,讓自己有繼續努力的念頭和戰意的話,這些活動仍可能是很有價值的,這裡有 一篇高手談生產力的文章 ,裏頭有類似的觀點:在不同品質的時間都有適合的事情可做 做小朋友下樓梯的過程,我最初 windows 下程式開發環境一直搞不定,搞得很煩就把這件事暫時放一邊去了,後來不知道在哪裡看到什麼訊息,引發我想到何不試試看 linux 呢,剛好前陣子把 ubuntu 最新版本燒到一個光碟裡,就把它拿出來裝,這過程也是有點煩、瑣碎和耗時,為了避免造成無法挽回的錯誤,查資料並謹慎操作,最後終於搞定,心想這還只是一開始,開發環境弄好了,接下來就是要弄懂 Qt 的運作機制和程式碼該怎麼寫,搞了好幾天,印象中當時我就是去看 良葛格的教學 、   Qt 官方範例的程式碼和說明 ,一兩天了我還不能讓一個圖在視窗中從上往下掉,我真的很想做完這個 project ,想說就厚臉皮問問一個資工系大一學弟好了,這個學弟寫了 一個...

這半年來的目標不斷變化…

前天學長問我近況怎麼樣,我說這半年來的目標不斷變化,但講的有點結巴和不清不楚,用這篇文章來釐清一下  起初,大概上學期的時候,打算輔系或雙主修,後來想著不如轉系了吧,因為如果是輔系或雙主修的話,我還是要拿到統計學士學位,代表我還要修系上的必選修課,那些我無心學、不知所云、只能靠背的課,實在不想再忍受和應付它們,之前去上課的感受非常差,我心想就算這樣混了文憑出去,也是死很慘 這學期初第三階段選課期間得知我的狀況因為不符轉系條件,所以不能轉,原本一心指望轉系這個看似唯一的路,突然被宣告行不通,我頓時陷入有些焦慮的狀態,我心想這下我是要延畢把統計系的課都修完還是重考、轉學考?無論如何得先想個辦法,不擇手段了,我甚至有點厚臉皮的打電話給一個很久沒聯絡的電機系畢業的學長,向他請教,他幫我想了一個特殊的轉系途徑,但我之後去問確定還是行不通 此後想了兩個方向,一個是往網頁程式設計發展,另一個是把學習嵌入式系統所需的前置知識學一學,電路、數位邏輯、作業系統、計算機組織…,然後去修黃敬群老師開的課 不過看我最近做的事情,往方向二的可能性很渺茫,我四月左右受到朋友的提醒,讓我反省預期的方向和自己正在做的事情之間,是否一致或有關聯,發現似乎沒有,我當時90%重心都在演算法設計與實作這門課的作業,如果我真的想走方向二,那就還要學上面說的那幾個東西,不應把心力全放在演算法,於是我開始翻作業系統課本,大概一個禮拜多我就沒搞下去了,一方面常常讀不懂和有點枯燥乏味,另一方面是程設有project要做,這個project一定要完成,不然我的分數會囧掉,結果電路、數位邏輯、作業系統、計算機組織...這些東西基本上都沒在碰了 回顧這學期到目前為止做了什麼,累積一些實踐演算法解決問題的經驗、學了一點點關於os的觀念、還有學C++、用C++寫數獨程式和貪食蛇程式、上完清大MOOC開的計算機網路概論、把Codecademy的javascript課程和HTML/CSS課程上完,前幾天買了Head First HTML & CSS來看... 坦白講都滿基本的,而且滿零碎的,我現在有點執著於盡快學會「派的上用場、讓我出去能混飯吃、生存下來」的技能,但又不知道具體到底要點出哪些技能(更根本的問題也許是我有那個時間或堅持去把技能點出來嗎?),聽說雖然工...

在Codecademy學HTML和CSS─運用CSS來取代手動做tag的attribute設定

圖片
進入CSS課程後,我對它的理解是一個老道理:Don't repeat yourself (DRY). tag那麼多,如果想要設定什麼,都要去每個特定tag那裏加attribute,這會超級麻煩的,所以就統一寫好一些格式設定在一個CSS檔,然後讓html document去引用這個CSS檔,就會自動對某一類tag套用設定,省code、省麻煩,總而言之,這好像是原本你要很多開關來分別控制一堆燈泡,現在用一個開關就可以控制很多你想控制的燈、達到你要的控制效果 要讓用CSS寫的內容發揮作用,有兩個辦法,一個是寫一個CSS檔案,然後讓html document去引用這個CSS檔,另一個辦法是寫在html document的<style></style裡面 不過剛剛試了在html編輯模式下貼上代碼,預覽後會使我的部落格整個大變形和混亂orz...,只好只分享代碼 瀏覽器開啟後長這樣,藍字Codecademy是連結,下面那個按鈕也是連結,用CSS簡化了tag的attribute設定

在Codecademy學HTML─基本的tag、attribute運用

圖片
今天上了Codecademy的HTML和CSS課程,廢話不多說,先直接展示做了什麼吧,我知道這看起來像是直接用部落格編輯的,原始碼附在下面,我是白天的時候打好html檔,然後在用blogger編輯的時候切換到HTML模式貼上我的html檔,這檔案用到基本的<img>, <ul>, <ol>, <a>, <p>, <strong>, <em> tags,還有用到style這個滿通用的attribute來修改字體大小、字型、顏色 Yulin Age: 22 Gender: man howntown: Mars Interests Learning to programming Leisures Watch animes Play computer games Go jogging Jobs: students Favorite Quotes: "I know that I know nothing.'" Where I've Lived: Tainan Favorite animes Fate zero psycho pass steins gate Attack on Titan Favorite games World of Warcraft Age of Empire II: HD Warcraft III Goal: Learn HTML, CSS, javascript (and Ruby, Ruby on Rails?) Become a web developer 原始碼:

有系統的訓練、學習的挫折感

趁著一股氣,一點點怒氣(?)+受刺激覺得自己差人很多的氣+...,把一些想法記錄下來   今天演算法設計與實作課,一位復旦大學計算機學院的教授來分享一些訓練學生的方法和經驗,我印象最深刻的其中一段是「有系統的訓練」,提到他們會提供給學生除了題目外,還有詳細的測試資料、詳細的解題思路和程式碼,在有這三者的提供下訓練,另外是先從資料結構訓練起,才進入到演算法(詳細的主題順序我就不清楚了) 會對「有系統的訓練、學習」這點印象深刻的原因,就是自從去年暑假轉換方向以來,我有時會覺得自己在學習computer science, programming的過程上, 好像缺乏了什麼 ,有的東西事後看,訝異學習效率怎麼會差成這樣,例如之前學C、修資料結構,我現在覺得很奇怪為什麼指標、陣列之間的關係我會那麼久才搞清楚?明明不難,還有資料結構教科書前幾章,一堆沒用的資訊(無誤),當時為什麼耗那些時間在上面?還有stack, queue, linked list這些明明一個小時就可以搞清楚的東西,我當時到底是在想什麼?書是一個問題、沒有好的指導者是一個問題、沒有人可以討論是一個問題、自身學習能力不夠是一個問題...,綜合起來的後果之一就是缺乏系統性的學習,當時我是完全的新手,只約略覺得可能要從一個程式語言開始入門,但學程式語言要做什麼、對計算機要了解到什麼程度、在學習的過程中遇到問題可以怎麼辦(這點個人覺得很重要,因為問題帶來的挫折感是削弱學習動力的強大殺手)...等等 如果我能給過去的我建議,我會說,不要看C++之父寫的Programming: Principles and Practice using C++,這根本完全不適合新手,閱讀前幾章也許還好,但到某一個地方的時候會突然變得非常滯澀,跟學習程式語言不直接相關的東西(parsing)造成很大的學習障礙,我後來跑去Codecademy學javascript,親和很多,但有些枯燥乏味,我當時沒把它上完,前幾天我把它上完後發現,修完這課也許是能學到一點基礎物件導向的概念,但完全不知道JS在現實中是用在哪裡、能做什麼,也幾乎沒用JS寫到什麼大一點的程式,上完這課,頂多可以說自己懂JS的基礎語法,但不能說自己用JS寫過程式、做了什麼事情 學習程式語言應該從做中學 ,實際練習、做些東西,而不是去硬背規則和語法、只讀...

如果聚餐只是大家來吃個飯...

這學期社團的禮拜五中午訂餐,滿常是我負責在社團po文和訂的,我在手機設定每禮拜二中午提醒訂餐,應該有一點效果,比較少出現太晚po的情況,可是我發現有另一個問題,而且可能是更重要的,就是大家來聚餐的意義,我覺得應該是交流、認識新的學弟妹或學長姊、趁機邀約活動、營造團體的氣氛...等等,可是我最近幾次訂餐、吃飯,感覺我們只是來這裡吃個飯、各自跟已經熟識的人聊天、然後就走了,我總覺得有哪裡怪怪的,這樣的氛圍會讓人想再來嗎?除了吃飯,我們還能做什麼?

初學javascript筆記

今天花一些時間上codecademy,把去年暑假沒上完的javascript再上一上,過程我一直有個想法:學了C和C++後再學其它語言真的有差 掌握了一些本質的東西,就會發現有時只是符號表示不一樣而已,以下把今天學到javascript的一些詞,對應C++中類似的概念是什麼列出來 javascript:物件的property C++:class的member data javascript:物件的method C++:class的member function javascript:constructor C++:constructor 一個重點,我去年初學時沒認識到,就是C++是所謂靜態程式語言,在變數使用前一定要指明變數是什麼型態,編譯器才能配置對應的記憶體空間給程式,但javascript是動態程式語言,變數使用前不需指明型態,可以直接賦值,甚至這一行assign變數一個整數,下一行assign同一個變數一個string也可以,我心想這樣會不會很容易出問題啊?不過我暫時還沒去找答案,這問題就先擱著 接下來講的就是細節的東西了,javascript要初始化物件有兩種方式:literal notation, constructor notation

POJ 2392 Space Elevator

題意: 有一些不同的磚塊,每個磚塊有一定的高度、數量、和最大高度限制,輸入第一列會給一個數字n,代表磚塊的種類,接下來n列會給每個磚塊的資訊,每列3個數字,(高度, 最大高度限制, 數量),所謂最大高度限制是指,假設現在只有一種磚塊,資訊是2, 5, 100,2 + 2 + 2 > 5,雖然磚塊數量很多,但因為這種磚塊不能超過高度5,所以根據這些磚塊,我堆磚塊高度最高就只能到4,題目要求給定磚塊資訊下、各種磚塊滿足最大高度限制下,堆這些磚塊所能達到的最高高度是多少 解題思路: 多重背包問題(物品是有限的),把高度想成背包重量上限,磚塊就是物品,現在物品的重量和價值的值一樣,比較不一樣的一點是,這個題目並沒給出一個有明確重量上限的背包要你去塞東西,而是求在滿足各種磚塊的最大高度限制下,所能堆出的磚塊堆最大高度是多少 很明顯的一點,堆出的最大高度 <= 所有磚塊裡的最大高度限制,因為不能超過磚塊的最大高度限制,所以我就想對於1 ~ n種磚塊,假設第i種磚塊的最大高度限制是max[i]、高度是h[i],對於第i種磚塊,從背包重量上限max[i] ~ h[i]去考慮放或不放,整個流程做完,再從記錄狀態的DP陣列的末端開始往回找,找第一個DP[index] = index的就是了 可是結果TLE,後來改用以2為基底的數量湊堆的方式下去考慮,結果是錯的,這有點微妙,解釋起來有點麻煩,簡而言之,如果上述流程不是從最大高度限制最低的開始,依序增加的去考慮的話會錯... Code:

POJ 1276 Cash Machine

題意: 某銀行想提供一個提鈔機以供提錢,input有數列、以EOF結尾,每列第一個數字表示現在想提的金額數目,第二個數字表示提款機目前有多少幣值的錢,以它給的第一個範例輸入來說 735 3 4 125 6 5 3 350 第二個數字是3,代表提款機目前有3個幣值的錢,後面的3對資料,每對都是(數量, 幣值),因此$125的有4張、$5的有6張、$350的有3張,而3*125 + 350 + 2*5 = 735,代表這台提款機可以供應想要的確切金額數目735,如果可以供應想要的確切金額,就印出金額數字,如果無法exactly供應,就印0 解題思路: 典型多重背包,稍微轉換一下就清楚了,把一個錢轉成一個物品(價值和重量相等的物品)、把要換出的金額數目想成背包的重量上限,現在等同是問給一個有限重量的背包,還有各個價值和重量的值相等的物品,有辦法塞東西剛好塞到背包的重量上限嗎? 設背包重量上限是MAX,某錢j的幣值是money[j]、j從1到n,某錢j的數量是num[j],那就是從錢第1項到第n項,分別跑一次0/1背包的演算法,考慮某錢j的第k個要放還是不放,整個流程跑完,如果記錄狀態的DP陣列第MAX項的值=MAX,代表可以剛好塞到背包的重量上限,也就是提款機可以供應想要的確切數目 喔對了,這題目我原本用上述這樣直接的方法去解,結果TLE,後來回去讀助教投影片,有更快的方法,就是不要一個一個考慮,可以把好幾個東西壓縮成一個來考慮, 數目是以2為基底 ,例如13可以把它拆成1 + 2 + 4 + 6,因為1 ~ 13之間的任何一個數字,一定可以由1, 2, 4, 1~6(之中一個),挑幾個來組成,所以一樣可以考慮到所有情況,只是計算的次數就減少了、減少運算時間,這樣才在限制時間內完成 Code:

最近對「演算法設計與實作」這門課的想法

上禮拜上課的時候,不知為何我突然覺得這門課很像中學時代上的數學補習班,老師教你一套針對某類問題的通用解法,你就根據這套解法去練習解題目,只是現在不是用數學語言描述,而是一套解決流程,然後再把解決流程轉成code 可能是因為預設學生有修過資料結構、演算法概論,一些正確性的說明和細節就不談,這讓我有時候對於題材難以接受,或是不知道怎麼轉成code 助教常常問我們懂不懂,我心想所謂「懂」,可以分好幾個層次和方面,知道整個解決流程在說什麼、怎麼轉成程式碼、這方法可以解決什麼條件下的問題、理解正確性的證明...,有時候我知道了解決流程、也能轉成code、但我不知道為什麼這解決流程對,這似乎導致,我知道課堂上教的方法可以解決某些條件下的問題,但是當碰到有變化的題目時,我常常就想不太出來了 也許真的進入的時間早晚、累積的努力、和天資有差異吧,這讓我回想之前學習數學的一些經驗,我認為自己對數學的sense滿普通的,只是國中的時候,補習班老師給我們寫了一些AMC題目,這是一個契機,讓我覺得思考這些不同於教科書上的死板題目還算有趣,升高中後,我就想去報名一些考試,嘗試看看,我在考AMC、AIME前花一點時間做些歷屆題目,有時想一下學校公布的兩週問題、跟同學討論課內或課外數學問題,不知不覺間好像我就有一點點數學水平了,就至少能運用所學內容,思考一些大部分人眼裡「比較靈活」的題目 程設、資料結構和演算法,我進來的時間太晚、累積的努力太少、可能也沒什麼天資,嚴格說起來大約是去年九月、十月開始學(高中有堂課教程式語言但我早忘光,大一的計概上完我還不知道編譯是什麼...),然後這學期上「演算法設計與實作」這門課,我感受到跟一些同學有不小差距,我覺得我很難跟他們在這方面競爭,可是資工並不是只有在搞演算法和資料結構而已,不同子領域偏重的地方不一樣,應該不是完全沒路可走

2014成大校園路跑

圖片
5km:23分35秒 評語:不如高中時代和前一兩年的巔峰狀態@_@ 抱著就是要拿到紀念衣服(前100名)的心情去跑,前10名大概無望,但至少要拿到衣服 本來想說5km硬吃一下就吃完了,最近一兩個月平常訓練量都差不多這樣,結果因為速度比平常快,過程感受的痛苦不輕,參加比賽跟平常訓練真的很不一樣,而且,平常都跑操場,這次的路線4/5是馬路,對腳的負擔大一些 跑到大約剩1km、經過操場的時候,有種「媽的,還沒結束啊」的想法(終點線在操場,也就是最後一段一定是到操場,眼睜睜的看著操場就在眼前,但卻還有路要跑...),這樣還能拿到衣服嗎? 我前3/4配速太快,結果最後1/4沒力,速度放慢超多,不然感覺會掛點,右邊的腰不知為何很痠痛,之前跑步從來沒有這樣,我想到急性腎衰竭不知跟這有沒有什麼關係 最後快到終點的時候,我看到一個女生在拍照,可能是幫認識的人或社團拍吧,看到我就略過了,我很好奇當時的我不知是什麼表情,應該很有意思 結果63名,可以拿到衣服!但當拿到衣服時覺得這設計真是有點拙啊,中文字太多QQ,符號+英文就好,比較簡潔俐落 這場路跑在我心裡,是我來台南以來最有意義的過程之一了 Run for fun.

UVa 10130 SuperSale

題意: 某超市進行大特賣,每一種商品都有超低優惠價格,但一個人在每種商品最多只能拿一樣、且每個人有負重上限,現在有一個家族要去搶購,要你求出這個家族在每個人的負重限制下,所能拿的商品最高價值和是多少 題目給出T筆測資(1 <= T <= 1000),N代表有幾種商品(1 <= N <= 1000),接下來N列每列有兩個數字:P和W(1 <= P <= 100, 1 <= W <= 30),第i列的資料代表第i種商品的價值和重量,接下來一列只含一個數字G(1 <= G <= 100),代表家族的人數,接下來G列每列只含一個數字,第i列的數字代表第i人的負重上限 解題思路: 典型背包問題,只是現在是好幾個人要拿東西,就相當於考慮好幾個背包裝東西,針對每個人不同的負重上限,分別套一次解背包問題的演算法,把結果總和起來就是答案 code:

近況雜記─不擇手段的「變強」&時間的調配

前幾天,我有種想放棄數位電路導論這門課和一份作業的感覺,事實上,我已經放棄數位電路導論了,我聽不懂老師在教什麼、自己讀也沒讀懂、跟不上進度,原本打算去退掉,但因為這學期不滿16學分而無法退,學不好又無法退,我也不打算作弊還是抄襲,好像就只能這樣擺爛下去... 競賽演算法設計與實作,這次作業是關於最大流,我沒搞懂它的思想、寫不出程式碼,我前一兩天幾乎打算要去抄網路上code以通過這次作業門檻,今天轉念一想,我不會是事實,這就是我目前的實力,我不去想著怎樣提升實力、解決問題,卻去想著怎樣抄襲不被發現,我怎變成這副德性了? 應該不擇手段的「變強」,而不是不擇手段的拿成績吧 ,被當就代表我沒達到這門課的要求,如此而已,一個想著應該培養實力、因為拿不到學位而不在意學位的人,為什麼還會想著pass?我因為沒預期會到這種窘境,只能說一直以來拿成績、拿學分根深蒂固的傳統思維還是影響著我 另外一件很重要的事情是,算是我朋友點醒了我(他問我最近讀了什麼),我曾跟他說我想朝嵌入式系統發展,雖然目前看來是遙不可及,許多基本功訓練和難題在前方等著,之前看了黃敬群老師的FB提到他這學期開的嵌入式系統課程用了哪些基本科目內容,有電路、數位邏輯、作業系統、計算機組織、C語言、某些數學,我學C到目前為止除了作業外沒做什麼真正的運用,其他基本科目的了解我幾乎等於0,也不是說時間花在演算法和目前程設學的C++不好,只是如果我真想朝那方向的話,其他東西也應該開始學習 更根本的來說吧,我到底在目前學的東西上有多少熱忱、有多少堅持、對什麼東西有強烈好奇心?老實說,雖然我初學不到一年,發現資訊這領域真的是如果沒有堅持、沒有熱忱、沒有一點天分,會跟那些有堅持、或有熱忱的人差距非常遠,最近閒暇時,我也許會再多思考一些這類問題

2014/3/20雜記

昨天晚上躺在床上兩個小時了還沒睡著,放棄放空了,開始想最近我到底怎麼回事,好像是自從知道無法轉系過後開始吧,我常常有焦慮感和壓抑感,變得極度沒有自信,我覺得我可能會沒大學文憑,不然至少在拿大學文憑的路上會倍加艱辛,沒學歷的我還能有什麼本事在外面活得好好的? 最近跟家人的對話不斷圍繞在畢業、文憑、出路...這些事情上,過程我好幾次的對自己感到失望和悔恨,因為自己對一個明確方向的努力不夠、因為自己的選擇對家裡帶來負擔、自己沒有生存的本錢...,隨著年紀、年級變大,我也漸漸務實了,或者說我的某部分價值觀也變的世俗了,我的痛苦也許部分源自於此 對現實的焦慮感變成我前進的主要動力,努力程度跟之前完全是不同檔次, 我想證明自己的「有用」 ,即便目前這一小段努力過程我只曾偶而感受到一絲絲喜悅,我現在在寫程式和學某些科目時似乎總是會這麼想:「如果想成為高手、讓某項技能變得像呼吸一樣自然,那解決這點問題不是理所當然的嗎?」於是,我確實解了一些對目前的我有一點難度的程式問題,也有在進步,但我完全沒成就感,因為我覺得這是理所當然,不過反過來,當我遇到瓶頸還是解不開的時候痛苦程度相對大多了,如果解開一題對我的精神獎勵是+1或+0.5,那解不開的時候約略是-3, -4吧,我一邊對自己的進步完全無法滿意,又要「忍受」自己的「失敗」 我曾想,為什麼我在寫作業暫時告一段落的時候會是這種表情和心情?無法由衷的有像之前讀線代、寫線代作業那種感受 我昨晚意識到這是心結,求好心切,對自己現狀強烈不滿,同時對自己的期望遠超於現狀,激發出自己的努力──過程鮮少有喜悅的異常努力 雖然說這陣子的心情、狀況不太好,但我還是寧可這樣而不修系上的課,修系上的課會給我帶來其他種類的痛苦,那更讓我難以忍受,而且我只會對課程擺爛和應付,這樣下去我就真的完了,還是 選個自己比較會全力以赴的東西吧 ,雖然努力未必會有自己要的結果,但不努力就什麼都沒了 努力後而沒有好結果,應該會比沒有努力事後才在悔恨來的好吧 對於以前那個「說選興趣、但又沒表現出對應努力的自己」不知道該說什麼,每個階段有不同的視野、疑惑、干擾和心理素質,事過境遷,只能透過當時記錄下的文字略窺一二了

高手的氣場

今天上「演算法設計與實作」這門課,說真的,我來成大第一次感受到這樣的氣場─ 高手密度高的氣場、另有些微的宅氣參雜在其中 或者可能是因為我來課堂之前,聽老師說過這門課作業分量很重、最好要有當9學分來修的心理準備,所以我預期會修這門課的人應該要嘛是高手、要嘛有熱忱、要嘛有執著,這種預期使得我在這門課感受到許久未有的感覺 老實說,我滿高興的,雖然我知道我和他們可能有差距 p.s.後來幾天下來發現一週作業量很重真不是蓋的,遠遠超越我過去修過的任何一門課...,甚至相當於我某些學期所有課的幾週作業量總和

2014/2/21 想修一門課真不容易

今天終於加簽到日文了,在這之前曾去三堂日文課抽籤碰運氣(因為想加簽的人數眾多,十幾個以上,一堂只給加簽5個),都沒抽中,這次經驗讓我體會到想修一門課真的不容易,從來沒有過這種感覺...

寒假四個禮拜學了c++哪些東西

參考 Accelerated C++ Practical Programming by example (ACPP),會找這本書,是因為剛放寒假的時候上Amazon找C++的書、看書評,剛好在 Thinking in C++ 的第一個書評,那個人講他學習C++的過程,並建議先看ACPP(top→down)再看Thinking in C++(down→top),以獲得足夠全面的理解,然後剛好學校圖書館有ACPP,我就借來看了,看了之後覺得讀起來很流暢就這樣繼續下去了 目前讀到Ch11 define ADT,但是還沒寫過template function、定義一個class(含一些member function)來解決問題,前幾章本來都是練書上的習題,可是後來發現它們實在難以引起我興趣,我就改寫 uva online judge 上的題目,從這網站上的 一顆星問題 開始(後來發現 另一個網站 有更詳細的難度分級、而且有中文翻譯),用到「string、vector、還有它們的一些member function、iterator、ch6講到的一些常用的stl facilities、ch7講到的map、上社團問人得知的stringstream」,我後兩個禮拜讀的進度很少,以寫程式練習為主 可能因為目前遭遇的問題還不足以需要用到template function、定義一個好用的class,所以練到的C++部分都侷限在上面「」裡的東西,可以說我這四個禮拜主要花在熟悉C++的一些內建facilities上了,還有累積一點寫程式、debug經驗 學到目前為止對C++的印象,比起C,應該就是可以用的內建facilities很多、很好用吧(可能跟讀的書是ACPP有關),像vector有很多member function,size(), begin(), end(), push_back()...,比起那時候學C,只有很陽春的array,這在解一些之前用C寫過的問題時感受特別明顯,那時寫很久、不然就是很冗長、還常常寫不出來,不過這可能是因為C是我第一個學的程式語言&&當時不夠熟悉&&它內建facilities真的比C++少,而C++是我第二個學的程式語言&&我有些寫程式經驗了&&C++的內建facil...